Blog

Archive for the 'Development' Category

1.7 Coming and Repository Changes

Saturday, February 27th, 2010

So, we apparently miscalculated the acceptance of 5.3 along the major web hosting companies. The old track record of PHP adoption was that it takes several years for a major upgrade to be accepted. However, things must’ve changed, because we’re hearing more and more issues with 5.3 compatibility, even though it’s only been out for a few months.

With that, we’ve decided that there will be a 1.7 release of CMS Made Simple. This version will basically a 5.3 compatible version of CMS Made Simple, but it will most likely break PHP4 compatibility. Since we’ve been basically saying that PHP4 has been deprecated since 2007, but never acted upon, this shouldn’t come as too much of a surprise to everyone. We’re not positive that we won’t be able to keep PHP4 working with 1.7, but it’s a possibility that people should be prepared for.

All future releases of 1.6 will be security patches only, and only if necessary.

CMSMS 2.0 development will still continue on. 1.7 will only be getting a percentage of the dev team’s time in order to get PHP 5.3 working. Probably won’t be a ton of new features here as well. We’re trying to keep all the major work in the 2.0 branch.

So, in short:

1.6 – Security patches only. PHP4 compatibility.
1.7 – PHP 5.3 compatibility. Minor feature additions. Possible PHP4 breakage.
2.0 – Major redesign and redevelopment. PHP 5.2+ only.

Repository Changes

If you follow CMSMS development in subversion, we’ve moved some branches around in order to facilitate these changes. The original 1.7.x branch, which became 2.0 will be in the trunk. The old trunk became the old-2.0 branch, and we copied 1.6.x to 1.7.x for 1.7.x development. It looks something like this:

/trunk moves to /branches/old-2.0
/branches/1.7.x moves to /trunk
/branches/1.6.x copied to /branches/1.7.x

If you have a checkout of one of these branches, you can easily change it to the new location with svn switch. For example, if you’ve been following 2.0 development, you can go into your checked out version and do the command with the location of the moved branches location like:

svn switch http://svn.cmsmadesimple.org/svn/cmsmadesimple/trunk .

Announcing the Silk Framework

Wednesday, December 31st, 2008

As I’ve worked on CMSMS 2.0, I’ve run into a few recurring issues that I didn’t quite have an answer or reason for yet…

1. I wrote a lot of very generic pieces of code in order to make 2.0 easier to develop in the long run. I think I might’ve gone overboard a bit. I wasn’t ever sure why.
2. As a professional developer, I kept running into issues where I wanted to use some of that code for other stuff. And it was too difficult to just pull out the piece I needed and didn’t do it.

When talking to my friend, Greg (who, incidentally, helped push me to launch CMSMS as a project), I was telling him about some of the things that 2.0 could do. I said something along the lines of, “Really, except for some routing and a few other little things, 2.0 could be a full development framework for other applications.” And, in my typical way, I thought about this for a few days… and didn’t do much else.

So, I’ve decided to use my week off from work to put together the basics of a PHP5 based web application framework. This framework will then become the base of CMSMS 2.0 (it’s less work than it sounds — trust me) as well as any other application you might want to develop. It’s a generic framework that builds on some of the key ideas we’ve had in CMSMS all along — it just makes those tools easier to setup for whatever you’d like to develop.

Who is this aimed towards?

Professional PHP5 developers, plain and simple. If you know what a framework is and why you’d need one, then you’re probably the correct candidate for this project. If this just flies over your head, then it’s probably safe to skip to the next post in your news reader. :)

What’s the name mean?

It’s smooth. It’s strong. It’s a nice foundational material… Really? It’s a short name that fits well when you put it in every class name and it’ll also make for a nice logo someday. Calguy said “smooth” and it just went from there.

What are the requirements?

PHP 5.2+ on any compatible web server. A database of some sorts — MySQL will be tested heavily. PostgreSQL and SQLite should also work fine. Development and documentation will be targetting developers on Unix based systems… Windows users might have to do a little bit of investigative work to develop with the system.

What do I get?

  • ADODB5 – The standard in database abstraction. Silk uses it throughout.
  • The Silk ORM – Built on top of ADODB and uses the ActiveRecord pattern. Cuts down lines of code and makes basic database access very simple and OO.
  • Smarty – Uses the power of smarty throughout. Smarty templates are used for all templates and layouts, as well as smarty plugins created for all form and navigation elements.
  • Magic MVC – Using file naming conventions, new actions, controllers and views can be added with very minimal work. Everything is customizable afterwards.
  • jQuery – We’ve standardized on the jQuery javascript framework. Used throughout, we’ve included some javascript helpers to make Ajax simple to use.
  • Events system – Stateless event handling system based on the one from CMSMS 1.x — without the database. (coming soon)
  • Unit testing – Ability to have unit tests on models, views and controllers. (coming soon)
  • Users, groups, permissions – Have a basic system for handling these 3 things that fall into almost every web application. CMSMS 2.0 will use the same system, so applications will be able to share login information directly with CMSMS. (coming soon)
  • OpenID – Logins will support the OpenID protocol and standard using the php-openid library. (coming soon)

License?

Silk is licensed using the MIT open source license. It’s both GPL compatible (for release with CMSMS) and also able to be used in commercial/proprietary applications without question. This will allow people to use Silk for practically anything.

How do I get involved?

Silk isn’t really “there” yet. It’s still in the early phases of development, though, it’s been moving pretty fast and working out above expectations. The source code is hosting on github: http://github.com/tedkulp/silk. If you’d like to make contributions or play with the code, fork a copy and play away. If you feel that something is patch worthy, send me a pull request and I’ll take a look.

In the near future, I will post some HOWTO’s and API docs to silkframework.com. After I feel that things are stabilized a bit, I’ll write up a HOWTO on how to write a simple application using Silk that hints the major points and gets people on their way.

How does this affect 2.0?

Only a bit. The admin will be rewritten to use the new MVC system, events will have to be changed a bit, and well as a few other changes. But we’re still moving forward without having to throw away a lot of code. This is still a positive step forward with only a few small steps back.

Thanks, folks! Let me know if you have any questions or would like to get involved.

Announcing CMS Made Simple 1.4 “Jamaica”

Sunday, August 3rd, 2008

Here it is, the latest and greatest.

Many people have donated hours of their valuable time to develop, design, manage and test this release, it is a real testament to the community that CMS has grown. Lets keep it going people, great work by everybody involved.

Version 1.4-beta2 was downloaded over 450 times (not including language packs and checksum files)…. and we had a relatively low amount of bugs reported, this is a fantastic thing.

Version 1.4 “Jamaica”
- Includes a new system information page in the admin
* Many thanks to Alby, and others
- Smarty now works as you would expect in the admin
* Any new or rewritten pages in the admin are using this
* This may break pisearch plugin, etc
- A completely new way of page template processing.
* We split the template into three pieces
a) Any text ontop of
b) The section
c) the rest of the template (the body)
* We then process the top section through smarty, then the body, and finally the head. Then we glue it back together. This will allow variables set in page content or in various module templates to be used in the head section to effect such things as meta tags, and page titles.
* A new text area in the options tab of content pages allows specifying page specific data (as opposed to putting page specific data into the metadata section of the page)
* A new plugin {process_pagedata} processes the page specific data through
smarty. It should be at the very top of all page templates
* On new install, all page templates have {process_pagedata} at the very top.
* This may break sites that have used some of my tricks to
change the page title based on news or other modules content
so it will be off by default after release, and on for the beta
- Memory optimizations, and query optimizations: We’ve done a few checks, and improved a few things here and there that will provide a modest boost in performance.
* FileManager is now an admin only module
* nuSOAP is now an admin only module (for most sites).
* more in memory caching
- Massive improvement in stylesheet handling: It is now possible to allow or deny browser stylesheet caching. Stylesheets are now re-orderable
- Updates to the admin menu structure: Main is now called CMS, and the logout and view site links are under there.
- Theme Improvements
* Many thanks to Nuno
* New icons for view site and logout
- Cleaned up and improved Module Manager. It should be much faster and leaner now.
- Minor improvements to CMSMailer
- Improvements to the Installer
* Many thanks to Alby
* The installer is now fully translatable, so you can choose what
language you want the installer pages to appear in
* Many more checks have been added and re-organized to hopefully
solve some of the issues people have with installation.
– Safe mode is still a warning, however we do a required check to see if the httpd server process can create a file within a directory it created. This should help track problems with safe mode enabled when php is running as an apache module (which we do not support).
- We now ship a full distribution as well as an english only version and several ‘language packs’.
- NCleanGrey is now the default admin theme.
- you can now specify default text for additional content blocks in page templates.
- A new permission that controls access to the Tags page so that editors, etc. can see the help there.
- Add assign parameter to numerous plugins (including all module plugins)
- adds the image_url plugin (thanks Nuno)
- Now use a wysiwyg for the sitedown message and the custom404 message.
- Added the target option to the ‘content’ content type.
- A general review of security checks in admin methods (thanks Nuno)
- Modifications to the group permissions, and user creation forms makes managing users, groups, and permissions much simpler.
* Many thanks to _SjG_
- Updates to the embed plugin
- Add three new page attributes to content, PageLink, Link, and SectionHeader content types
- Modify the menu manager to export the new page attributes. This will be useful for permissions, or meta data or other tags.
- FileManager gained recursive chmodding, custom sorting and saner permission handling in windows
- Printing updated to latest TCPDF release 4.0 including rewritten html rendering code
- TinyMCE got updated and some css-related issues were fixed
- Search Improvements
* Minor performance tweaks to Search Re-indexing
* Now escape any characters that have special importance in regular expressions before performing the search
* Restore the template to it’s pre-1.5 behavior whils till retaining the new functionality.
- Now remind the user to configure their mail settings
- A new admin function to check the current install against either a release-generated checksum file or a previously downloaded checksum file. This will help to find upload errors, or to find files that have been modified since the last known good state, to aid in detecting hacks.
- News has had minor tweaks
* Now handle the old pretty urls as well as the new ones
i.e; News// will work just as well as
News// /
* A new icon for rss feeds
- Though it’s not really a 1.4 issue, the Translation center has been fixed (many many thanks to the regex guro _SjG_) so that links will work in translated files. We essentially translate all quotes inside of tags to a special string, then do the html entity stuff, then translate that special string back to quotes. Translators need to go through and update ALL translations.

Core Development w/ Github

Sunday, April 13th, 2008

As you all know by now, CMSMS 2.0 development is now if full swing. Both calguy and myself have been hitting the code pretty hard over the last couple of weeks trying to finish it up and get a beta ready to go. While there is still a lot to do, I’m starting to see the end in sight.

A few random folks have asked about helping out with development of 2.0, which I love. However, being the control freak that I am, I’m a bit worried still about giving the world free reign on subversion commit access. A few months ago, I discussed using git for core development. Yes, I still use this model for my 2.0 work and can’t imagine switching back to pure subversion. I can be as A.D.D. as usual by having scattered branches of the various things I’m working on, and only commit them back when I feel stuff is ready.

Anyhoo, github has gone live. This is pretty much the ultimate geek social network. It allows you to setup your git respoistories to the world. Better yet, it allows anyone else to essentially “fork” that repository, make their changes at will, and easily alert the original person to take a look at your changes. It’s terribly brilliant and REALLY useful.

I push the CMSMS code up to git every day or so from my personal mirror of the current svn repository. It’ll usually be up to date. If I know people are working from it, I’ll make sure it’s always up to date within a few hours. The main repository is located here. Fork to your hearts content, people.

So, do yourself a favor. Learn git. Use git. Love git. And once you wrap your head around it, use github to make those wild and crazy changes to the CMSMS 2.0 code and tell me about them. The proof is in the code, my friends. Get coding!

Want to seriously be amazed at the power of git? Read this account. For some good links (even though there is a ruby spin), look here.

Enjoy!

2.0 Moving Along Again

Tuesday, February 19th, 2008

Just because the blog has been deserted doesn’t mean nothing is happening. About 3 weeks ago, I got myself into a position where I can resume the 2.0 development cycle. Not only that, I’m starting to get to enjoy all the work I did in the beginning of cleaning up and moving code around to make a more consistent API. New features are falling into place pretty quickly and I’m making some rapid progress.

Some highlights of the last few weeks include:

* Fixed the issues everyone was having with the installer. It’s ugly, but it works.

* Added the hierarchical permissions editing for content. It still needs to be added in a few more places, but it’s a good start.

* Start adding a test suite for things that I’m working on. It’s by no means complete or even covering a major portion of the code, but it’s the direction I’ll continue down as I develop.

* Removed xajax totally from the codebase and instead made my own version that’s entirely written using jQuery. It does just what I need and nothing more.

* Added active flags to stylesheets and removed them from templates.

* Removed the built-in print functionality. It was ugly. Use print stylesheets.

* Added methods to make sure all tables created by the api make proper utf-8 collations

* Redid a lot of the Events system. It’s now easier to create and use events, and also allows for attaching to events on the fly instead of having to register in the database.

* Redid a lot of the module api. Moved the tabs to their own class. Removed methods that weren’t really used. Moved the wysiwyg and styler methods to their own subclass. Added a backwards compatibility layer for older modules that still needs some work to be fully functional.

* Created an acts_as_list dropin for the ORM system. This basically means that modules (or core items) that want to be ordered can add 2 lines of code and one field to the database and get a ton of functionality for ordering and reordering items.

* Changed the parameter sanitization methods in the module api to use the new stuff built directly into php 5.2+.

* Rewrote the menu manager to use nested templates. This basically means that menu manager templates will be MUCH easier to understand. It also means you can use different templates (or options) for children if you’d like.

* Started a brand new blog module which will be included in the default installation. It will basically have all the main blog features that people ask for and should allow CMSMS to be a viable replacement for those people use Wordpress as a CMS. This also allows me to test that all the changes to the module api are good.

* Moved all module templates to be administered in a central location. Not only that, but multiple templates for the same function are now supported by default. Modules no longer have to handle templates themselves, instead they just register the template on install and are good to go.

Needless to say, it’s moving right along. I still have no solid date for a beta, but I’m shooting for a couple of months from now. As long as I can continue at this pace, it shouldn’t be a problem.

Report from the Developers Meeting in Copenhagen

Tuesday, September 18th, 2007

cmsmsteamcopenhagen.jpgFor the first time seven members of the core development met in person. Copenhagen, Denmark’s capital, was the host city of this meeting.

Core team members attending were (from top left): Samuel Goldstein (SjG), Tatu Wikman (tsw), Daniel Westergren (westis), René Helminsen (reneh), Morten Poulsen (Silmarillion), Ted Kulp (Ted), and Keith Lauchlan (Utter).

We got together for three productive days to plan the future of CMS Made Simple. Here’s an overview of what we discussed.

Organisation

First up we looked at transforming the organisation around CMSMS to give ourselves a more formal structure, enable applications for grants and loans and put the whole outfit on a more stable footing.

Many other open source groups have formed non-profit foundations and that’s the model we’re looking to.

Responsible: Samuel and Keith

Promotion and Marketing

Given how great CMSMS really is we’re way behind with getting the message out there. Keith and Daniel will be far more rigorous at targeting the online and print-based press with articles and information on our product. This involves becoming more aware of who our target audience really is and pushing CMSMS at them more aggressively.

One way of putting CMSMS on the map would be to put together a book with a publisher like Packt. Since we’re now one of the finalists in the Packt CMS Awards this may be a real possibility and will be pursued over the next few weeks.

Other topics touched on were:

  • a much better themes site (Tatu will work on this) and a competition to design the new CMSMS site (already launched)
  • better screencasts of important tasks on the site, as well as new features in new versions
  • better feature list on the site (completed)

Responsible: Keith and Daniel

Documentation

  • Ted joined the documentation team for taking the lead in core and module developer documentation.
  • We will move the documentation from the wiki to CMSMS pages. We will also make use of the Comments and Questions modules. This way it will be properly centralised and easier to locate.

    Only members of the Documentation Team will be able to add and edit articles, but anyone can make comments to improve the documentation. This way we keep better control of what is in the documentation, while still letting users contribute. We’re still working on how the documentation may be multi-lingual in this system. Most likely only English, German and French will be available until CMSMS 2.0 makes multi-lingual sites easier. (Daniel)

  • A new print functionality will be written that can combine pages into one page and export them to PDF. This should eventually allow for the creation of screen and print versions of docs right out of CMSMS. (Morten and Ted).
  • More screencasts will be produced about how to accomplish different tasks and to present how CMSMS works for new users. All these and any other forms of media used to document the sitebuilding process could be included on CD with the book. (Tatu)

Documentation on the site will eventually be separated into 4 areas:

  • FAQ
  • Tutorials
  • Handbook for everything
  • Developer documentation (API, module writing etc.)

The new documentation structure should be up and running within three weeks.

Responsible: Gunnar

Training

There was a fair bit of discussion around how to organise CMSMS training and it was felt that we first needed to do some fairly extensive market research to determine who wanted it and where in the world they were likely to be. Amongst the suggestions were that training could be dispensed in a variety of ways such as at annual gatherings or even regularly from specific locations (say, once a month in London etc.)

It was also suggested that we could operate a sort of franchise structure so that ‘approved’ CMSMS developers or users would be recommended for training using specific training materials developed from the documentation when it was finished.

On a more advanced basis, companies could be offered commercial training packages for developers and users.

A poll will be put up on the CMSMS site to gauge the level of interest for this although nothing too ambitious is likely to be undertaken until the documentation is ready.

As with many aspects of the discussion it was felt that the organisational and promotional aspects of elements like training would become simpler when/if there was a foundation group.

This is a more long-term project.

Themes site

As was mentioned earlier in this article, the Themes site is seen as an important contributor to the success of CMSMS.

The discussion centered around how to structure the site more like the one at www.oswd.org so that themes could be better categorised, previewed, rated, commented upon and downloaded.

Responsible: Tatu

Modules and the new forge

The present forge is too inflexible and needs rewriting. Samuel is creating the new Forge in Ruby on Rails and it will hopefully be complete by the end of the year. A QA team will be responsible for testing and overseeing modules and projects

Some of the new and improved features will include:

  • modules can be recommended: yes/no set by QA team (with version)
  • a “works for me / doesn’t work for me” feature (along with CMS version, module version, PHP version and comments) submitted by users
  • comments and ratings: specify which version of module comment and rating applies to. Admin has delete button for comments
  • ability to have a matrix or some other means to say what version of CMSMS a module works with
  • ability to set modules as outdated if they haven’t had activity in a certain amount of time
  • Optional field for next planned release
  • Modules can be tagged and categorised with a tag cloud for project category
  • news, with RSS
  • most recently released modules, with RSS
  • a subscription feature for bugs, features and projects

In addition, there’ll be changes to the admin of a CMSMS install to reflect these improvements:

  • ModuleManager will show only modules compatible to installed version
  • ModuleManager will show module name, module version, last release date, recommended (or not)

Responsible: Samuel

Translations

  • The translations will be stored in a database, rather than in files like now. That will make it possible to dynamically update translations from the admin panel without having to wait for a new release of the core or a module.
  • The changelog will be split up, so that it’s easier for translators to see when the changelog has been updated and needs translation.
  • It will be possible to change translations locally, i.e. for a specific site. When the translation is updated it will not overwrite the local translation.
  • Ways for translators to be notified when there are new translations to be made, on a module-per-module basis.
  • Sorting language strings by new, updated, all etc.
  • Re-usable language strings from the core (submit, cancel, apply etc.)
  • More tweaks to make life easier for translators

Responsible: Reneh

CMSMS Version 1.2

1.2 is going to be the last supported 1.x version. After 1.2 is released there will be a feature freeze and only bug and security fixes will be released. From now on all development will be focused on version 2.0.

Responsible: Robert

CMSMS Version 2.0

There’s been plenty written about the next version of CMSMS. These are a few extra ideas we discussed. One idea was to split the language files so as to use less memory, not having to load everything, like admin/front page. We also thought admin users can create new menus and assign to user groups. The admin theme will be an easily editable xml file.

  • Module upgrade warning + automatic backups
  • Roadmap for 2.0 is
    • early-Dec: pre-beta
    • Dec 20: 2.0 beta1
    • Jan 15: Final beta
    • Feb 5: RELEASE!!!

Responsible: Ted

The End

We spent a couple of hours bug-busting and then went to the pub…

Using Git for core development

Thursday, September 13th, 2007

I’ll warn everyone now that this is a fairly geeky post. If you’re not into core development, source code management or *gasp* command line… feel free to run screaming.

Still here? Excellent. Come, let’s geek out a bit.

What is Git?

Git is a source code management system. Though, if you read it’s description, it doesn’t say that. Don’t listen to them! It’s a subversion-like system for managing source code. It was written by Linus for the Linux kernel after their fallout with Bitkeeper. It is similar to Bitkeeper in some ways, but it’s very unique as well.

Git is very unix-y still. Just like CVS and Subversion are by default. It’s still too new to have a lot of fluffy GUIs like Tortoisesvn or the like. However, for a regular console jockey, this isn’t an issue.

Uhh… Why?

But you already have subversion. It works well. You’ve been using it since CMSMS first started. Why would you want to use something else?

I totally agree. Subversion is still the right tool for the CMSMS universe. It offers the lowest barrier to entry and reliability. However, I don’t necessarily think it’s the best tool for myself as a developer, and I have several reasons for this.

  1. I can branch as much as I want. Branching and merging is not painful. Not nearly as painful as it is in svn. In fact, branching is so painful in subversion that I barely use it… and in a large scale system with a lot of users, that’s not a good thing. Committing everything to trunk even if it’s broken is just wrong.
  2. It pretty much seemlessly integrates with svn. There is an added piece in git that allows you to basically push and pull from an upstream respository. This basically means you can use git on your local machine and not screw it up for everyone else. You branch/merge/etc to your hearts content, and then push it all up to the subversion server when you’re done.
  3. It’s distributed. The more people that use this, the more people I don’t have to give subversion commit access to. It’s very painless for me to get patches via email and merge them in and commit to subversion. It means I can watch the patches coming in and make sure that we’re not allowing junk to get into the core. And end users can screw around with the code as much as they want… it never has to touch the main repository.
  4. It’s disconnected. I can branch and merge as much as I want without being online. For a person like me who lives on a laptop and codes whenever they get a free moment, it’s essential. No more waiting to get online to switch from trunk to 1.2 or another branch, etc. I can even diff against another version without touching the internet… this is huge.
  5. The history is totally pulled off to everyone’s machine. The more people that use git, the more backups we have of our project history. Everytime you clone, you have the whole history on your local machine. And distributed backups are the best kind.

Anyway, for those who don’t know, I develop almost entirely on my Macbook Pro. I run apache/php/mysql locally, and usually run several versions of CMSMS at once. I’m obviously a perfect test case for this, and other results may vary.

More after the break….

(more…)

Glowing reviews?

Tuesday, August 14th, 2007

Needless to say, I’m a bit frustrated. Take a look at this review…

Very clean and simple CMS. Editing stylesheets and templates is a bit awkward, but after some time creating your own stuff, one can get used to it.
The quality of the user-submitted modules is abysmal. Many of them are fundamentally flawed and their PHP code is often plainly wrong.
If you avoid 3rd party modules, CMS does the job very well.

This comes from our page on opensourcecms.com, which is pretty much the largest pusher of traffic to our site from the outside world. A lot of our new users find our name on the list and check us out. And this is pretty much the first thing they see now.

The developer’s forge is a great idea, but it almost seems like it’s hindering as much as it’s helping. It’s not the first time I’ve heard this complaint, so we as a group need to try and figure out what we can do about it. Whether it requires a more strenuous testing/acceptance procedure (which we don’t really have the manpower to do), or if we just only approve projects that we now will be done right… well, we just don’t know.

Any suggestions? This needs to be corrected or it will become a downfall of this project. And I refuse to let that happen.

gophp5!

Sunday, July 8th, 2007

CMS Made Simple is gladly joining in the gophp5.org mission. On 5 February 2008, many PHP projects, including us, will not be releasing any more versions that will be compatible with anything less that PHP 5.2.0. This is to help push ISPs into supporting php5 finally… which has been out for 3 years already.

In actuality, we’ve already said that CMSMS 2.0 will only support php5, but this seals the deal on a version number (5.2.0) and also gives us leverage for this decision. CMSMS 2.0 will also be coming out before that date, but that just means we’ll be a few months ahead of the curve.

If you’re having trouble and worrying about a host supporting future releases, then you should probably check out the list of hosts on this page and get your migration plans ready.

Thanks to the folks at gophp5.org for giving us a reason to finally push php acceptance in forward and positive motion. It really is THAT much better that php 4.

Server moving

Wednesday, June 20th, 2007

As you might have noticed dev.cmsmadesimple.org hasnt responded for a while. We have small problems with the server and are now moving it to a new server.

While the move is in progress forge and svn will be down, we’ll let you know the moment we get the server back up.

Hopefully this wont take too long.

UPDATE: Everything is basically up. Translation center hasn’t moved yet and neither has email. A few smaller things related to cron jobs haven’t either, but for the most part everything for devs and end user should be functional. Thanks for your patience!