Blog

Archive for December, 2008

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.

CMS Made Simple 1.5.1 – San Juan

Thursday, December 4th, 2008

It never fails…. even though we have a lengthy beta cycle, and we try as hard as we can to get people to test there are always a few things that just don’t get tested. So though 1.5 was largely stable, we’ve fixed a handful of things (most of them were one line fixes), and fired out 1.5.1.

We had a minor emergency. We found another bug just minutes after we released the original 1.5.1, so we quickly took down the announcements, removed the files, fixed the bug, and started again. What a panic that was!!

Here’s a brief list of what has changed:
- News 2.9.1
– Fixes to permissions checks
– Additional help about the dateformat and formatpostdate stuff being removed
- Fix sql error in listcssassoc
- Fix missing username in admin header on login of new session.
- Fix to expand all/collapse all icons in listcontent.
- Fix to the edit tag.
- Fix to the cancel button in user preferences
- Minor adjustment to security key checks.
- Fix bug in stylesheet associations.

This release does include diff packages. Please use the base diff package if you downloaded and installed the base package. use the full-diff package if you downloaded and installed the full package. You are also encouraged to update the language packs that you may need (with the base version), as a few things have also been translated.

Even though there are no database changes in this release, as always, you are encouraged to do a full backup before you upgrade.

Enjoy!

CMS Made Simple 1.5 “Puerto Rico”

Monday, December 1st, 2008

I’m very happy to announce the release of CMS Made Simple 1.5. Calguy and crew have done an amazing job keeping the CMSMS core chugging along and getting more stable and feature rich. Unless you’re totally locked into an older version, I recommend upgrading your site as soon as possible.

Some key points from the changelog:

  • A new notification system in the admin
  • A new dashboard page in the admin
  • The ability to copy content pages has been added
  • More bulk actions have been added to the list content page
  • Numerous improvements to the installer
  • Apply buttons on GCB’s and UDT’s
  • TinyMCE changes: Updated to latest Tiny-core
  • Extensive modifications were made to add a session key to each and every
    URL in the admin console. This prevents a medium level cross site scripting
    vulnerability
  • Much, much more

As always, check out the full changelog for details on what has changed.

For a concise description on upgrading, take a look here.

Downloads for 1.5 can be found here.

Thanks again to all the CMSMS team: devs, translators and testers alike. You all seriously rock and here’s to another fine release.