New Video Suggestions?


#1

there is a new video https://www.youtube.com/watch?v=-SUbVWqJRME about Task Threads. If you don’t know what a task thread is you need to watch it!

And there is a whole YouTube channel of great videos:


#2

What topic you wanna see covered in the future?

upcoming/planned videos are:

  • S3 for source code
  • Rest (Server, Client, Tips and Tricks)
  • Local and Argument Scope
  • Shared Scopes
  • retry
  • enviroment variables
  • clustered sessions
  • using caches in Lucee
  • closure and lambda functions pro and con
  • secure a Lucee installation
  • function injection
  • synchronized
  • create your own extension provider
  • lazy queries
  • createDynamicProxy
  • logging

#3

I’d like Rest to be covered.


#4

what’s retry?


#5

I’d love to see in-depth details on creating extensions. It’s a little easier now, but having to figure out all of the ins and outs of how to properly create them for 4.x and then again for 5.x with OSGI, etc. was miserable because of the dearth of proper documentation. If you want the community to contribute to Lucee’s extensions some really good, in-depth documentation and video tuts would go a long way…


#6

I agree, I think the lack of good tutorials has been a major barrier to people. Well that and the lack of a good public way to distribute your extensions, though we’ve fixed the latter with the ability for ForgeBox to be an extension provider now! I assume you’ve seen these docs:


They’re fairly comprehensive, but basically all that exists for creating extensions in Lucee 5. I’ve actually wanted to make some CommandBox commands that will scaffold out an extension for you (and use box.json to help organize the metadata). It could come with some pre-built task runners that would compile your sources and build the lex file for you. Heck, we could even put in some shortcuts to auto-install it into a local CommandBox server. So many options, but I just haven’t had the time.


#7

Thanks Brad - yes, I have seen that. That was not there when I was working on extensions over 2 years ago (and even longer ago for Lucee 4.x extensions). That guide has a lot more info than last I checked too, so that’s great! It could still use a lot more love though… I think some curation and vid tuts by the core devs would go a long way in encouraging people to write more of these.

I remember that I had to glean how to do things from various old Railo blog articles (some from Google cache!) and peering into some of the extensions Micha had created, but it was an awful lot of trial and error and hacking around because there were no detailed blueprints/api/best practice guide for how these things should be created.

Adding Forgebox as a provider was huge! Though, I noticed it’s recently (past week or so) been providing an error when verifying in the Lucee admin. I haven’t yet had time to try it to see if it works anyways, but you may want to check on that!


#8

you will need to watch the video :wink:

try {/*start*/
}
catch() {
   retry; // jumps back to "start"
}

#9

+1

I still have to record the presentation i did in Munich at cfcamp on that topic. it is around 90minutes about extensions. i will see that i get that done asap.


#10

Thanks for the note on the extension provider. I checked into it and it looks like some config got lost on our migration over to Docker-land and Digitalocean, plus a regression in Lucee 5 bit me (https://luceeserver.atlassian.net/browse/LDEV-1897)

We’ll get the ForgeBox extension provider fixed very soon.


#11

What about a video on managing task threads in a cluster? Is there a way of centralising the data stores for tasks (and scheduled tasks) so that they work in a cluster of ephemeral lucee instances? For example, within a container deployment.


#12

do those tasks persist across server restarts? (ok, they are i got that far thru the video :slight_smile: )


#13

interesting idea, atm task get stored in the lokal filesystem. if we add them to a remote resource we have to take care of a lot of things. synchronise execution between multiple servers (avoid the task is executed more than once) and keep in mind that tasks are also used for mail. Sometimes apps are sending A LOT of mails, storing them far away could be a bottleneck.


#14

I’d like to see any/all of the below (in order of descending interest):


#15

“Lazy Query” is already done and will most likely be released next week or a week later.
Rest already is in post production :wink:


#16

I would like to see using caches in Lucee and environment variables

Long term I think Lucee needs something like “Getting Started with Adobe ColdFusion (2016 release)” series to attract new CFML developers.

Obviously this is not a priority, but I think there is a danger Lucee only preachers to the converted.


#17
  • Rest (Server, Client, Tips and Tricks)
  • using caches in Lucee
  • closure and lambda functions pro and con

+1


#18

How about a video on push desktop notifications. There are GitHub toolboxes in many other languages including java but a Lucee wrapper would make it simple!

I am talking about 2 functions:

  1. Request permission
  2. send a notification to all subscribers (even when they don’t have our website open)

#19

A commandbox lucee extension scaffold tool would be a massive benefit to all.

Other issue once there are a lot of extensions is how to manage them. Forgebox is a dogs breakfast with only one level: eg: there is a ‘coldbox modules’ category and ‘demos’ category full of coldbox demos and others mixed.

subcategory not only helps filter results, but also cleans up the top level, which in forgebox on one hand has ‘coldbox modules’ (could be ‘coldbox’ -> ‘modules’) and then has ‘demos’ - which contains coldbox and other demos… ( could be ‘coldbox’ -> ‘demos’ with sub category) which is much cleaner and far better normalisation of categories IMHO.

I did raise this when commandbox arrived, but the *box guys loved their mess. #sigh… let’s not repeat their mistake with Lucee extensions.


#20

I dont think that needs a video or a Lucee wrapper.
You can simply use firebase for this. You just need to include some JS and use their rest-api.