Arcadem Pro 2.7 Milestone 4 will be complete soon, which implements a completely new theme system that you may be familiar with: Smarty templates.  Don’t worry, all previous themes will still work, however using the new Smarty theme system has several advantages.  In addition, Milestone 4 marks the first Release Canidate for the 2.8 Stable series.  In this brief blog post, I’ll tell you what to expect as a result of both the new template system, as well as the change of status to a Release Canidate.

Arcadem Pro was desperately in need of a new theme system, as the original theme system mixed programming in with the HTML.  The end result was that you had to edit core logic files in order to change some aspects of how your theme was displayed, which made customization more difficult then it needed to be.  Luckily, the solution of switching to the Smarty template system fixes those problems.

The goal of using a templating system such as Smarty, is to separate the business logic which controls the way the script behaves from the actual xhtml/css webpage which is presented to the end user.  In order for Arcadem Pro to actually be compatible with Smarty, I had to rewrite much of the core logic.  In fact, these files are now kept in the /logic/ folder, while all of the original files that mix the presentation with the logic are still there for backwards compatibility so that all previous themes still function.

As a specific example of the contrast between the two theme systems, lets examine how you would edit the page that the flash games are normally displayed on in each system.  In the old theme engine, you would have to directly edit both a core file: /includes/gamedetails.php and also edit your theme file located at /theme/AMThemes/yourThemesName/frontpage_right.php  In contrast, with Smarty templates in Milestone 4 and above, when you want to change anything about the appearence of the page where your game loads, you edit one file and one file only, /theme/Smarty/yourThemesName/playgame.tpl  This means that you can now design a template for Arcadem Pro and worry purely about the design.

Now lets go back to the seperation of logic and how that effects the way you use and mod Arcadem Pro.  All the files that are contained in the new /logic/ folder share the name of a template file in the /theme/Smarty/yourThemesName/ folder.  For example, heres a few of the new logic files:

/logic/article.php

/logic/articleblock.php

/logic/forgotpassword.php

/logic/playgame.php

Each one of these logic files defines things and gathers information that will need to be displayed.  However, these files do not actually display anything.  Instead they pass the information to the Smarty theme, which controls when, where, how, and if the information is displayed.  So for any PHP file in the logic folder, your theme will have a file that shares the exact same name, except instead of having a .php extension, these files have .tpl extensions.  Using the four files above from our logic example, that means you would have these 4 templates:

/theme/Smarty/yourThemesName/article.tpl

/theme/Smarty/yourThemesName/articleblock.tpl

/theme/Smarty/yourThemesName/forgotpassword.tpl

/theme/Smarty/yourThemesName/playgame.tpl

Now if you are familar with Arcadem Pro, you may recognize that there is also files such as /includes/article.php and /includes/articleblock.php as well as /includes/forgotpassword.php which brings me to the next point.  In order to make sure that all old themes still work, those files are still there (afterall, some of you have some very impressive looking themes!)  For me, that means two sets of code to maintain, but thats my problem, not yours.  I do recommend that people upgrade to Smarty themes though, and all new themes and skins for Arcadem Pro should be done in Smarty to insure full compatibility in Arcadem Pro 3.0 and above.

Just for the heck of it, check out AdvancedArcade2, which is a Smarty version of the original AdvancedArcade theme.  You’ll be happy to know that the right side bar is now in full use, and the template has been centered by default.  This is just one of several of the new Smarty themes that are availalbe in Milestone 4, and is the only Smarty theme based off of an original Arcadem Pro theme.

To completely change the subject, Milestone 4 is the first Release Candidate for version 2.8 GOLD.  If you’re not familiar, all odd minor version numbers (for noobs, this is the first digit after the decimal otherwise known as the tens column) such as 2.7xx represent experimental versions, while even numbered minor version numbers, such as 2.8, signify the completed stable series of the same code.  Milestone 4 patches all known bugs and security patches, and implements the major feature (the Smarty template system.)  Release canidates are believed to be ready for production use, and if nothing else is found after signifgant time and research, then the product is declared fully stable and elevated to the stable branch (that release will be Arcadem Pro 2.8.)

Once Arcadem Pro 2.8 is released, there will be no new features added into any 2.8xx release.  The only additional releases bearing the 2.8xx series version number will be release that contain stability, security, and compatibility patches.  However, with the new Smarty template system, it is now much easier to create mods, allowing easy customization and infinite scalability for whatever your needs may be.

Anyway, thanks for reading.  I hope I’ve done a good job explaining what Arcadem Pro Milestone 4 brings to the table, including the much needed transition to the Smarty template system, as well as the move to Release Canidate status.  Please leave comments if you’d like to ask me anything or explain anything in further detail.  No need to ask when I will release, because the answer this time is a firm: “it will be done when it is done.”

Cheers,

Jeff Quindlen

Agares Media