teleren/devto huggingface dataset:
Okta Workflows How-To: Send stylized messages with MS Teams
Tags: oktaworkflows, okta, msteams, lowcode
Published: 2022-10-14 18:40:17

Okta Workflows makes it easy to build automations that notify or alert your teams with connectors to services like Slack and MS Teams.

Someone recently asked, _"Why can't I add line-breaks to my MS Teams messages?"_

As it turns out, we need to leverage the Custom API Action card so that we can specify that our content is HTML, rather than text. 

With the default `Send Message to Channel` card, our content is sent as text and line-breaks are ignored. Writing our message in HTML allows us to include line-breaks, lists, headers, style our text with fonts & colors, and more.

---
We can use the `Text - Compose` card to write our HTML message.

![Text - Compose card with HTML message](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pk4ntvdyv0ci543er1mc.png)

We can use a pair of `Object - Construct` cards to construct our request payload. We create a message object that contains our message `content` and specifies our `contentType` as `html`. We then nest the message object in an object called `body`. 

![POST to your Teams endpoint](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0uciai24t7xmujxar87l.png)

The payload should look something like:

```
{
  "body": {
    "contentType": "html",
    "content": "<h1 style=\"color:#FF0000;font-weight:bold\">Attention!</h1> <p>Thanks for reading! &#127867</p>"
  }
}
```

Finally, we use the `Custom API Action` card to
```
POST /teams/{team-id}/channels/{channel-id}/messages
```

![Teams message result](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/l3hyoe23qmmlsgnoje30.png)

---

Additional Resources:

- [Teams API doc](https://learn.microsoft.com/en-us/graph/api/chatmessage-post?view=graph-rest-1.0&tabs=http)
- [How To Fetch The Teams ID And Channel ID For Microsoft Teams](https://www.c-sharpcorner.com/blogs/how-to-fetch-the-teams-id-and-channel-id-for-microsoft-teams)

---

Feel free to download my example, [import it](https://help.okta.com/wf/en-us/Content/Topics/Workflows/build/export-import-flows.htm) and try it out - just update the Relative URL in the Custom API Action to point at your own Team and Channel: {% gist https://gist.github.com/bbarrows89/df6743983a69ef3ac189a2b8fa181a5b %} **_Download steps:_** 
* _right click "view raw" in the panel above on the right_ 
* _click "Save Link As"_
* _be sure the filename ends in `.flow`_

or check out my other guides and Workflows content _(more coming soon!)_ here: {% github bbarrows89/oktaworkflows  %}

---

Hope this helps! Find me on [LinkedIn](https://www.linkedin.com/in/bbarrows89/) or shoot me an [email](mailto:bryan.barrows@okta.com) if you have any questions. 

You can also join us at a [Community Office Hours](https://calendly.com/oktaworkflows) session to work through problems and ask questions - I'd love to see you there.
New webMethods Ideas Portal for Software AG webMethods feature requests
Tags: webmethods, feedback, portal, integration
Published: 2022-10-27 13:31:23

---
title: New webMethods Ideas Portal for Software AG webMethods feature requests
published: true
date: 2022-10-14 18:20:00 UTC
tags: webmethods, feedback, portal, integration
canonical_url: https://tech.forums.softwareag.com/t/new-webmethods-ideas-portal-for-webmethods-feature-requests/264730
---

Ideas are the key to innovation. We need a continuous cycle of ideas, feedback, and requests to keep growing and improving our products. From live conversations with our customers to product suggestions from end-users, idea collection helps us become more customer centric. One of the channels for collecting ideas is our new webMethods Ideas portal.

webMethods Ideas Portal is our new official feature request system for submitting, commenting and voting on ideas for our products. It can be accessed via Empower → Feature Requests page on https://empower.softwareag.com

The portal is intuitive and user friendly where customers can submit their ideas to enhance and improve our products. Customers can vote, comment, and watch other customer’s ideas. They can edit their own ideas in the portal after they have been submitted.

There is an intuitive and effective search capability for related ideas. The portal allows easy way to collaborate and share feedback via votes and comments and get your voice heard.

The ability for users to vote and comment on ideas is especially important because it adds the users as subscribers. Subscribers are automatically notified when status changes and admin comments are made. This makes it simple to engage interested stakeholders for further feedback on an idea as well as easily notify stakeholders when their idea has been shipped.

We have many ideas being entered on the webMethods Ideas portal and we appreciate your feedback on our products. As Product Managers evaluate these ideas, please keep in mind they are considering this idea against technical feasibility, overall product roadmap and strategy, overall demand and its impact on end user experience. Hence, not all ideas make it to our product roadmap. You may find that some ideas are put into the status “Under Consideration” because as much as we like the idea, we can only consider it in a year or two down the road.

Brainstorm is currently available for read-only access to existing feature requests, but all new Feature Requests can only be submitted via our new webMethods Ideas Portal. We will migrate the feature requests that are being considered for future releases from Brainstorm to the new Aha! Ideas portal.

We look forward to hearing your feedback on the webMethods Ideas Portal.

---
> This article is part of the TECHniques newsletter blog - technical tips and tricks for the Software AG community. [Subscribe](https://info.softwareag.com/TechCommunity-Subscription-Page.html) to receive our quarterly updates or read the [latest issue](https://tech.forums.softwareag.com/techniques-latest).

[Read full topic](https://tech.forums.softwareag.com/t/new-webmethods-ideas-portal-for-webmethods-feature-requests/264730)
Background media processing with automated Courier notifications
Published: 2022-10-14 17:43:45

Any website that accepts media content (photos, videos, etc) does some or the other form of background processing on said media. Operations like compression, validation, re-encoding and watermarking are often essential to services of many popular web apps. Even more important is the surety of being notified whenever something goes wrong in crucial operations like these.

Hence, when participating in Courier hackathon, I thought of building something that might help the developer community. While researching serverless functions, I realised that their nature is to handle short bursty workloads asynchronously. Further, when I asked my experienced seniors about these kinds of workloads, they informed me that the management of media files in the backends of websites is a huge task which could use the asynchronous nature of serverless functions.

The first step is to decide the types of media we'll be operating upon. Since I was building a simple PoC, I decided to stick with the standard - Photos and Videos. Now, we need to decide what operations our utility will support. Here are the ones I went with (feel free to choose your own):
- Compression
- Watermarking
- Inversion
- Resizing
- Trimming

Now, we'll build standalone functions to support these operations, as can be seen in `utils.py`. 

Finally, onto the most important thing. Every code has edge cases that it fails on. We need to be certain that we'll be notified of all failures so we can take appropriate action if and when an exception occurs. Hence, we'll wrap relevant parts of code in a try except block. 

This is where the beauty of Courier's seamless notification API comes in. It allows us to easily integrate the code to send a variety of notifications to admins (i.e. us) as well as users about errors in processing of files. It supports a variety of notification services, from emails to Slack to platform native notifications. 

Courier passes messages to Integrations via the [Send endpoint](https://www.courier.com/docs/reference/send/message/). We must send an Authorization header with each request. The Courier Send API also requires an event. The authorization token and event values are the "Auth Token" and "Notification ID" we see in the detail view of our “Test Appointment Reminder” event. Click the gear icon next to the Notification's name to reveal them.


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ftdtrqxwkgfre9dhjs14.png)


These variables can finally be fed into [Courier's Python SDK](https://pypi.org/project/trycourier/) to facilitate simple notification sending.
Make It Better: Refacotring Code
Tags: javascript, beginners, opensource
Published: 2022-10-14 17:35:09

## What was I up to?
I tried to refactor my code for my [static site generator](https://github.com/cychu42/staticSiteCon), with [this commit](https://github.com/cychu42/staticSiteCon/commit/9d03aeabf3610bca8e0c66f3b62fae6432f6dbe9).

## Changes
* Rename main file as index.js and update README.md
* Number options in README.md
* Improve comments in index.js
* Change some var to let
* Rename one of extension variables
* Use path module for parsing file names
* Turn html writing closing code into a function
* Split config variables into config.js
* Split some functions to parser.js
* Split html functions to htmlFormat.js
* Split html writing code to writer.js
* Move config file to a folder for separation
* Fix </p> tag missing toward end of html files

## Process
I tried to keep a list of things I want to improve and follow it, after going back to look at my code for improvement.
Some items are suggested by other, while some are kept on the list from before. (Sometimes other things take priority and you find yourself out of time to do the improvements for the moment.)

I tried to do interactive rebase to keep the commit history clean for this task. It's fairly smooth as I had some experience before from working in other people's open source projects.
**Rebase** is where you "re-base" your commits on a specific commit or version of the program, usually in the main branch. **Interactive rebase** lets you customize how that is handled, such as combining commits together or fixing their messages.
What I did was that I combined all the commits for this task into one single commit in history, using git.

Because I was turning exist code into functions for re-usability and splitting them into different modules, sometimes I just noticed I forgot to supple some variables or functions for the new code blocks.  Of course, that broke the program so I had to find out what I was missing and fix that. There's even one time where I supplied some variables from the wrong module and caused the values to be incorrect.
hey guys I need help with a presentation I want the best thing to being related to data engineering
Tags: help
Published: 2022-10-14 17:33:04

{Use the questions/pointers below to guide your post — don't forget to delete the placeholder text!}

What is your question/issue (provide as much detail as possible)?

What technologies are you using?

What were you expecting to happen?

What is actually happening?

What have you already tried/thought about?

What errors are you getting?

Please try to avoid very broad "How do I make x" questions, unless you have used Google and there are no tutorials on the subject.
Open Visual Studio Code from the Terminal
Tags: productivity, programming, discuss, tutorial
Published: 2022-10-14 17:30:08

Ok, it's not a super secret feature, but I noticed some of my colleagues and friends do not use it at all while I think it's quite handy, so I'm sharing it here.

You might already know, but you can launch vscode from the terminal by just typing `code`

`code .` will Open vscode on the current location, also cool if you're wandering around your filesystem in the terminal for whatever reason.

It can also accept a parameter that is the path, so with `code your/path` it will open a vscode instance already pointing to that file or folder. This is particularly handy right after `git clone` as all you have to do is `code repo-name` and you're ready to write some code.

Last but for sure not least, I made a short video as usual about the topic, you can find it here:

[![Watch the video](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/959tma6x31fj1a4nv1l8.png)](https://youtube.com/shorts/oUHlR_ouEAA
)

---

**So, a question for you, how often do you open vscode from the terminal?**

---

Thanks for reading this post, I hope you found it interesting!

Do you like my content? You might consider subscribing to my YouTube channel!
You can find it here:
[![YouTube](https://img.shields.io/badge/YouTube:%20Dev%20Leonardo-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](https://www.youtube.com/channel/UC-KqnO3ez7vF-kyIQ_22rdA?sub_confirmation=1)

Feel free to follow me to get notified when new articles are out ;)
{% embed https://dev.to/balastrong %}
Github Graduation 2022 Swags
Tags: github, programming
Published: 2022-10-14 17:00:32

I am happy to tell everyone that I got the github graduation 2022 pack, delighted to announce


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kicfxz3ewoor2j01izq8.png)


m/uploads/articles/spfycy2shnnmmq1tbusq.png)

**Image from internet**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/n4nsxuxbvxky4hp1rftm.png)


**My Image**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/hayc9tmr8pz3irvwdxe1.JPG)
Nginx Blocking
Tags: nginx, openresty, systemtap
Published: 2022-10-14 16:42:26

## What's blocking?

Nginx has one master process and multiple worker processes, and each worker process is single threading.

> It’s well known that NGINX uses an asynchronous, event‑driven approach to handling connections. This means that instead of creating another dedicated process or thread for each request (like servers with a traditional architecture), it handles multiple connections and requests in one worker process. To achieve this, NGINX works with sockets in a non‑blocking mode and uses efficient methods such as epoll and kqueue.

However, once the connection is accepted in one worker process, it could not be moved to other processes, even
when that process is busy. Not like golang, it has no work stealing. And, only socket is asynchronous,
the cpu-intensive tasks and file io tasks is still synchronous.

Every phase handler for an http request runs in a single thread. OpenResty allows you to run lua code
in each phase. The `rewrite`, `access`, `content` phases, as well as the timer (implemented as faked connection)
are running lua code within an individual lua coroutine.
Within the coroutine, you could use cosocket to communicate with the world.
The cosocket is 100% nonblocking out of the box. When you call cosocket API and it needs to wait for
more data, it would yield the coroutine, register corresponding event in `epoll` and let the event-loop
handles other events.

As the name suggests, coroutines use the CPU in cooperative way.
When you block a long time within one coroutine, other coroutines have no way to get executed,
because all coroutines reside in the one thread, which results in uneven request handling and long request delay.

When I work in [Kugou Music](https://en.wikipedia.org/wiki/KuGou), my team encounters blocking issue,
and I wrote a simple tool to diagnose it. This [tool](https://github.com/kingluo/ngx_lua_block_check)
makes use of `LD_PRELOAD` to hook the `lua_resume` and check the function execution time, and 
print the url and entry lua function for long execution.

In fact, this tool is not good, because it could not print the backtrace and does not work for compiled lua code.

## Locate the blocking source

The best tool to check blocking should be systemtap.

The blocking comes from two things:
* cpu-intensive tasks
* blocking system calls

So just check the execution time, if the time exceed a threshold, print the backtraces collected during that time.

...

## How to slove blocking?

Since the main thread is blocking sensitive, obviously, we should delegate blocking jobs to other threads.

The nginx provides the thread pool, which is originally used for serving static files more efficiently.
I wrap them in lua, so that you could use nonblocking API to execute blocking stuff.

I contribute my works to OpenResty official, that is `ngx.run_worker_thread()` API:

https://github.com/openresty/lua-nginx-module#ngxrun_worker_thread

...

Please visit my blog site for detail:
http://luajit.io/post/2022/nginx-blocking/
Elasticsearch basics: Elasticsearch head plugin, Postman and first DSL queries
Published: 2022-10-14 16:30:49

At my blog I am constantly getting questions which are related to elastisearch basics. That is why I decided to add several articles around that theme. Here is the 1st one article devoted to "[Elasticsearch basics: Elasticsearch head plugin, Postman and first DSL queries](https://sergiiblog.com/elasticsearch-basics-elasticsearch-head-plugin-postman-and-first-dsl-queries/)". Have a pleasant reading.
Just Started Learning How to Use CLI and.....
Tags: beginners, programming
Published: 2022-10-14 16:13:26

I'm working on my pre-work assignments for my upcoming coding boot camp in November. I just finished our first coding activity using Git Bash. I am already loving what I am learning. I think it's  awesome how you can manage and change directories through the terminal. I'm excited to see what the next activity brings and I can't wait to further develop my knowledge of programming.
Next.js: Next-auth
Tags: react, nextjs, javascript, webdev
Published: 2022-10-14 16:07:01

 In this article, you will see how to authenticate our **Next** application with **Google**

### What is Next?
Next is a full stack , open source react framework for production application by the company named Vercel.

##Getting Started with Next-auth.

First setup your Next application
`npx create-next-app app-name`

![npx](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/478cofs9omvph260dl3d.png)
_Note: npx stands for Node Package Execute and it comes with the npm to execute CLI command._

This CLI tool enables you to quickly start building a new Next.js application, with everything set up for you. You can create a new app using the default Next.js template.

![nmpx](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xvgekvmp2bgc9q5ikkcl.png)

These folders/files will be created after running CLI.

To add NextAuth.js to a project create a file called [...nextauth].js in pages/api/auth. This contains the dynamic route handler for NextAuth.js which will also contain all of your global NextAuth.js configurations.

`In [...nextauth].js file add the following code`

![Image-auth](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ooedsocifagx737ruics.png)
_Store your google api and client_secret in .env.local file_

To use authentication in your application first wrap your application with Session Provider.

![Image-session-provider](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2kpmtf1mmwdhqjqi14p4.png)
To be able to use useSession first you'll need to expose the session context, ```<SessionProvider />```at the top level of your application

Now, to implement Sign-In and Sign-Out method, we have to import these to methods from next-auth/react and create a function on div or button where ever you want.

![sign-in](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r4m89stzpparsker4utz.png)

![example](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9s6rbyarv0jciwnt6vjm.jpg)
![example-1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/un6hgj7xafgfisfnjqpw.png)
![example-2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dszxtgmws4911qjza3bp.png)
![example-4](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/01g0fr0urcw7kw4jlz5k.png)

You can checkout the code of my new project Challan-X on [Github](https://github.com/md-anas-sabah/challan-x-2.0)

##Thank you for reading and let's connect
Thank you for reading my blog. Feel free to connect on [Twitter](https://twitter.com/MdAnasSabah) or [Instagram](https://www.instagram.com/md_anas_sabah/)
Noteslify Joins Hacktoberfest!!! Open-Source Alternative to Evernote.
Tags: opensource, hacktoberfest, webdev, javascript
Published: 2022-10-14 16:00:49

Hacktoberfest 2022 has started! We're super excited about joining
Hackberfest and meeting open-source contributors! 🤝


## Hacktoberfest


For those who aren't familiar with Hacktoberfest, it's a month-long online celebration for open-source softwares and communities. The first 40,000 participants who [successfully completed the requirements](https://hacktoberfest.com/participation/#contributors) will be rewarded with a special-edition Hacktoberfest T-shirt 👕 or a tree planted in your name. 🌴


Participating in Hacktoberfest is one of our approaches to raise awareness and encourage more developers or technical writers to contribute to open source. We welcome both code and non-code contributions, such as docs improvement, tutorials, and blog posts.


## About Noteslify

![notes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/46di6f4k00vj15nt5ele.png)

We built [Noteslify](https://noteslify.stonecss.com/) ( [Github](https://github.com/dvstechlabs/Noteslify) ) to focus privacy and be open-source for 100% transparency. We started this project about 2 months ago, and have come till here.


## Contribute to Noteslify

If you're interested in contributing to [Noteslify](https://noteslify.stonecss.com/) ( [Github](https://github.com/dvstechlabs/Noteslify) ), make sure you read the official guidelines about contributors,
pull requests, and spam.

To maintain a friendly environment for both maintainers and contributors, we put together extra recommendations to increase the chance that your pull requests get accepted:

- Pay attention to [CONTRIBUTING.md](https://github.com/dvstechlabs/Noteslify/blob/main/CONTRIBUTING.md) or any contribution guidelines available.
- Start with [existing issues](https://github.com/dvstechlabs/Noteslify/issues) instead of inventing new ones. While new ideas are generally welcomed, they don't always fit the project roadmap.
- Filter issues with good first issues or help wanted tags if you're new to the projects.
- Avoid commenting on all the available issues but those you really plan to work on, so you can leave some opportunities to other contributors.
- Our maintainers will review your pull requests, please make sure you address all the comments before asking for another review.

## Happy Coding!!!

**Thank You for reading till here. Meanwhile you can check out our other blog posts and visit our** [Github](https://github.com/dvstechlabs).

Last but not least, star our [GitHub repo](https://github.com/dvstechlabs/Noteslify) if you haven't!