Open Source Content Management System
Blog Categories
- General (111)
- Modules (1)
- Releases (68)
- Events (24)
- Sites (1)
- Community (25)
- Geek (10)
- Announcements (52)
- Tutorials (3)
Using Git for core development
Posted September 13, 2007 by Ted Kulp
- 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.
- 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.
- 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.
- 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.
- 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.
git svn init -T trunk -t tags -b branches http://svn.cmsmadesimple.org/svn/cmsmadesimple cms-git
This will create a cms-git directory and have all the proper pointers to the svn respository in it. It's also empty still. Now you need to pull down some data. Normally you would do: cd cms-git git svn fetch
That would pull the whole repository locally. Branches, tags, etc. However, git-svn doesn't seem to like a repository move I did way back at revision 2719. Instead, you should pull the data for revision 3000 and above. Actually, I recommend 4000 if you're not a purist... it's more than enough history for anyone's needs. cd cms-git git svn fetch -r 4000:HEAD
Then you wait. And wait. When it's done, you'll have a nice snapshot of the CMSMS core development. git branch
If you do this, you'll only see master listed. Without getting into explaining git entirely (and there are much better texts for this), let's just say that's a local branch. That master branch automatically points to the trunk of your subversion repository. Let's say you want to work on 1.2 instead. You do something like, git checkout -b 1.2 branches/1.2.x
This will do 2 things. First it creates a local branch pointing to the 1.2.x branch in subversion. It will then "checkout" that code into the local directory. So now you have an up to date version of 1.2.x ready to be developed on. What next? Let's say you're going to work on a new feature or bug fix. The best way to handle this would be to make a new local branch and work in that. That way, if you want to work on several changes simultaneously and not make a big mess. In this example, we'll say there's a bug in the admin panel login procedure. It's bug #1234 in the bug tracker. git checkout -b bug_1234_login_problem 1.2
You're now making a copy of the 1.2 local branch and making a topic branch specifically for bug 1234. You can change things to your heart's content. If you commit, your changes live in that branch and don't pollute anything else. You can commit as much as you want and no one has to see it. If you decide you hate everything you've coded, you can reset or toss the branch away or whatever you'd like. No one has to know that your code was absolutely dreadful... and there's no reason to every push broken code back up to the svn repository. Ok, you've fixed the bug. It was a one-liner in admin/login.php. Now commit it. git commit -a -s
Just like subversion, an editor will pop up and you can explain what you did. You'll notice that an extra line was added that shows "Signed-off by: Ted Kulp <ted@cmsmadesimple.org>" or whatever your email is. The -s did this, and it allows you to have an audit log if you're passing patches around. It's a good habit to get into and I highly recommend doing it for every commit. Ok, you're branch is now good to go. Now what I would do is now merge this branch back into your "1.2" branch. This way, you can be sure that it's being applied cleanly before you either push it back to the svn repository or send it out via email to a maintainer. git checkout 1.2 git svn rebase git merge bug_1234_login_problem
What you've essentially done is go back to the master 1.2 branch (which should match svn), update it with the latest changes from svn (if there are any) and then merge in your changes from your topic branch. If the merge caused any conflicts, you can easily fix them now and now that when you apply these changes to the upstream repository, they'll apply cleanly. Now, if you do have commit access to the repository, you can just do the following. git svn dcommit
This will apply any changes to the repository and anyone using svn will be none the wiser. However (and here's the beauty), if you don't have commit access, then you can easily send out a patch via email to the maintainer. git format-patch -M -n -o patches/ origin git send-email --to ted@cmsmadesimple.org patches rm -fr patches
Now those patches are sent directly to the maintainer for easily integration into the source code. It's a beautiful thing. Conclusion Git isn't for everyone. It's not even for the masses yet. It's a specialized tool that requires a certain mindset to even use. But once you "get it" you wonder what you did before. Also, this isn't the end-all of tutorials for git. Look below for some great links on getting started with it. If anyone is going to do any major core development, I'd like you do at least examine this option. It allows us to not give commit access to the free world and allows for great amounts of experimentation by the end user without interrupting other users. It's a very viable solution, so please at least give it a look and see for yourself. Enjoy! Important links: Please vote for CMSMS in the final Packt CMS Awards round!
Posted September 10, 2007 by Daniel Westergren
CMS Made Simple 1.2 Coming Soon
Posted September 9, 2007 by Robert Campbell
Announcing CMS Made Simple 1.1.1
Posted August 26, 2007 by Robert Campbell
Announcing the new CMSMS organization
Posted August 25, 2007 by Daniel Westergren
Core and Module Development
Responsibilities:
- Develop the core and modules
- Writing technical documentation and developer guidelines (together with the Documentation Team)
Team leaders:
- Ted Kulp (Ted/wishy)
- Robert Campbell (calguy1000)
- Samuel Goldstein (_SjG_)
- Morten Poulsen (silmarillion)
Usability and Appearance
Responsibilites:
- Default pages, templates and stylesheets.
- Feedback to the Core and Development Team about the appearance and structure of the backend administration.
- Install script and the installation experience.
- Usability and accessibility
Team leader:
- Tatu Wikman (tsw)
Current members:
- Gunnar GrÃmsson (ooooooooooo/virtual)
- Paul Noone (iNSiPiD)
Website
Responsibilities:
- Consistent look and feel across *.cmsmadesimple.org
- Information infrastructure
- Keeping the site up-to-date
- Implement new features
- Approve news and projects in the current forge (later for the Quality & Assurance Team)
- Themes and module downloads
Team leaders:
- Tatu Wikman (tsw)
Current members:
- René Helminsen (reneh)
- Gunnar Grimsson (oooooooooo)
- Paul Noone (iNSiPiD)
- Ted Kulp (Ted)
- Daniel Westergren (westis)
Quality Assurance
Responsibilities:
- Test the core and modules, both unit testing (code) and testing new features.
- Review and approve module releases
Team leader:
- Thomas Mayfield (tgmayfield)
Current members:
- John Botte (sportman/Qualityinterfaces)
- Kevin Grandon (SavageKabbage)
- René Helminsen (reneh)
- Darrin Roenfanz (the-golem)
- Ville-Pekka Vainio (vpv)
Support
Responsibilities:
- Give support to users
- Moderate and administrate forums
- Working with the Documentation Team for tips and troubleshooting
Team leader:
- Andreas Just (Cyberman)
Current members:
- Mark Reed (mark, maksbud)
- Ronny Krijt (RonnyK)
- Pierre M. (Pierre M., pierremirc)
- Alberto Benati (alby)
Documentation
Responsibilities:
- User documentation
- Developer documentation, together with the Core and Module Development Team
Team leader:
- Gunnar GrÃmsson (ooooooooooo/virtual)
Current members:
- Daniel Westergren (westis)
Translation
Responsibilities:
- Translations of the core, modules and documentation
- Administration of the Translation Center for core and modules
- Feedback to core and module developers about found errors in translation files
- Approving new translators, languages and modules for translation
Team leader:
- René Helminsen (reneh)
Current members:
- The project leader for each language.
Marketing and Information
Responsibilities:
- External marketing
- Announcements in the forum and on the blog
- Information on the website, together with the Website Team
- Internal communication between the different teams
Team leaders:
Current members:
- Ted Kulp (Ted)
- Kevin Grandon (SavageKabbage)
Again, feel free to contact team leaders if you would like to contribute. We need more people for most of the teams!
Glowing reviews?
Posted August 14, 2007 by Ted Kulp
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.
Developer's Get-Together Donations
Posted August 5, 2007 by Ted Kulp
Sunday Benjamin Verkley - $10 Hakki Dogusan - $20 Jeroen Vos - $20 David Streever - $15 Gareth Jones - $20 Jelmer Schreuder - $10 Monday Millipedia - $100 Paul Richards - $30 Anonymous - $50 CJ Houghtaling - $25 Neil Southwood - $20 Edward Nowotny - $100 Mark Reed - $20 Sun Kim - $50 Mana Ties - $50 Tuesday Steve Alink - $20 Peter Gasston - $30 Steven Epstein - $20 Jan-Felix Schmakeit - $40 Image Works Studio - $200 Mccord Computer Solutions - $10 Wednesday Israel Cefrin - $15 John Scotcher - $40 Mark Reed - $65 Quality Interfaces - $50 Veli-Matti Saari - $30 René Helminsen - $50 Maine Webworks - $30 Michael Erb - $25 Thursday Dieter van Baarle - $20 Anders Rehnvall - $25 Friday Anonymous - $50 Sunday Reinhard Mohr - $10 Andrew Moore - $20 Patrick Honorez - $50 Torben Hoerup Nielsen - $15 Prism Mail Solutions - $33 Monday Andre Gellert - $5 Gunnar Grimsson - $50 Tuesday Finn Lovenkrands - $100 Martin Johnson - $20 Wednesday Martin Weber - $30 Sanjay Jain - $100 Grand Total: $1,693 Thanks to everyone who donated! The trip is definitely on (all tickets are bought) and the rest of the money will go towards making Copenhagen a little less expensive for everyone. Thanks again!
2007 Packt Open Source CMS Awards
Posted July 16, 2007 by Ted Kulp
CMS Made Simple 1.1 Released!
Posted July 14, 2007 by Ted Kulp
gophp5!
Posted July 8, 2007 by Ted Kulp
Server moving
Posted June 20, 2007 by Tatu Wikman
So many releases?
Posted June 18, 2007 by Ted Kulp
CMS Made Simple 1.0.8 Released!
Posted June 18, 2007 by Samuel Goldstein
CMS Made Simple 1.0.7 Released!
Posted June 11, 2007 by Robert Campbell
Version 1.0.7 "Kahoolawe" -- Jun 11 2007 ----------------- - Fixes potential security issue with processing of smarty templates - Added a few missing permission checks to core modules
Dev Meeting Wrapup
Posted June 7, 2007 by Ted Kulp
Infrastructure Changes
Posted May 19, 2007 by Ted Kulp
Featured site - Petersburg.ie
Posted May 10, 2007 by Tatu Wikman
CMS Made Simple 1.0.6 Released!
Posted April 24, 2007 by Ted Kulp
- Fixes a potential SQL injection hole in stylesheet.php - A new installer that uses smarty templates and classes. it doesn't look much better atm, but does have alot more power and is alot cleaner for the future. - Show the footer on tags about and help pages - Fixes to the expression that caused session_start to not always be called. - Fixes for errors in get_template_vars with newer php versions - (important) Fixes a problem where the wrong module could be unloaded from memory if module files had been deleted manually, without explicitly uninstalling the module first. - Fixes to the safe mode tests - Fixes for open_basedir issues in ImageManager - Repeated quick reloads should no longer violate the 'cachable' page property. - Add a download link for the admin log - Fixes for the umask test in global settingsThanks! Sorry for the alarm, but we want to get this resolved as soon as possible.
CMS Made Simple 1.0.5 Released!
Posted March 27, 2007 by Ted Kulp
Version 1.0.5 "Molokai" -- Mar 26 2007 ----------------- - Fixes to Global Settings - Fixes to Delete Stylesheet Association - Spaces are no longer allowed in UDT names - $gCms is now given to smarty by default - Added ability to test the file creation mask in Global settings - Added page alias on mouseover when in listcontent. - Added safe_mode check into the admin section - Modified listmodules to display a message when safe mode is enabled and installing files via XML could be a problem. - Appropriate modifications to ModuleManager and ThemeManager for safe mode.
Post-CMS training
Posted March 15, 2007 by cuhl
All good developers using the CMSMS know how flexible it is and easy it is to develop a good website with solid design and good functionality. One caveat of the dilligent work we put into making websites is that 9 times out of 10 the client wants to take a stab at making the changes themselves. This is a major selling point for people, many of then used to phoning up a web company, only to request a few changes, wait forever for the work to be done to the right standard, meanwhile their own deadlines are shifting and bosses giving hassle wanting to know what is going on. Eventually when an invoice comes in the door in exchange for the hassle, they will only jump at the chance to take this painstaiking process out of their work day.
The important part to know about developing a site with the CMSMS is that the site isn't done on launch day. The training element is crucial to the successful website. Many days spent on validation and good code can be wrecked by someone in the client's company copy and pasting from Front Page, or Word, or some other horror that has been imposed on us all. This can invalidate the good put into the site and in the end affects your own reputation as a developer.
It is a good idea to think of the CMSMS not from your own familiar point of view of it, but from the client's noobie look at the back-end. Simple things like restricting their access to the really important (and dangerous) items such as custom content blocks, templates, stylesheets, php code etc can save alot of grief and questions in the long run. The more comfortable a client is with non-technical areas of the site and the less bewildered they are at the total package, the more eager they will be to make an effort at making changes without worrying about 'breaking' something.
Compliant standard editors (we use x-standard as a default) are helpful to clean up bad code inserted from the above mentioned offenders of bad code. But added to this, a small user manual is often helpful. Take the main important sections of the site that a client will be using and put the process clearly down on paper. Numbered lists of what to do in a step-by-step basis, along with screenshots helps guide them through editing or adding pages and images. This gets rid of the fear factor often seen by clients facing an imposing admin panel.
Taking the time go sit with them and go over the manual helps build your relationship with the client, adds to their own assurances that they will not 'break' the site and incur the wrath of their respective bosses, and lets them know they haven't been left on their own to fend for themselves. In our own experience as much as a client wants to 'do it all all by themselves', when the time comes to make the leap, they tend to hesitate on actually pushing the 'submit' button. A little hand-holding in the way of training goes a long long way to the future success of the website.
When updating problems occur.
Posted March 15, 2007 by signex
Featured site of the week: www.kovver.com
Posted March 2, 2007 by Tatu Wikman
- Focus on your CSS skills, they are the basis
- Try, if capable to contribute to the CMSMS development.
- Make your designs in photoshop, know what you want before you change the css.
- Post your designs, take a look and learn form others. Never copy, it might not satisfy!
- I question the overload on css-galleries! So I'm looking for serious volunteers to make one board to connect them all, but how?
Streamline Site Management with Shortcuts
Posted February 13, 2007 by chead
Development / Design
During development and design, you'll spend a lot of time on the same few templates and stylesheets, and adding new content. Speed access to those functions with these shortcuts:- Edit Stylesheet / Edit Template Most sites have a few key page templates and CSS stylesheets, and you'll probably find yourself editing them frequently during development. Add one-click access to these frequently-accessed templates and stylesheets for quick direct editing.
- Collapse & List Pages If your site has a lot of pages or complex hierarchy, it can take several seconds for the page list to display completely. Add a shortcut to the "Collapse All Sections" link on the page list, and your page list will display in a snap, ready for navigation.
- Module Help Working with a particular module frequently? Link to its "help" page for fast access to reference on its syntax and features.
- Add Page You'll be adding a lot of pages when you first build your site. Get right to it with a shortcut to the "add new page" option from the page list.
Site Maintenance
Once your site has been developed, the focus shifts to content. You can streamline the process of keeping online information up to date, and reduce the need for user training by focusing editors directly on their content. Give your page owners and editors quick access to the areas they're responsible for with these shortcuts:- Edit Key Content Your site probably has a few pages or global content blocks that change more often than others. Make a shortcut directly to these key pages and editors won't have to navigate the pages menu to get there.
- Instant News / Events Add a shortcut to "Add Article" and "Add Event" links in the News and Calendar modules to add new items with a single click.
- "Edit My Pages" If your site has multiple page editors, add shortcuts to the pages they can edit for each editor's account. You'll have less to explain and they're less likely to get lost.
- "Change My Password/Email" Give users one-click access to basic account login information by linking directly to the My Preferences/My Account page.
- Site Standards / Documentation Link directly to any site documentation, standards guides or cheatsheets you've developed for your users.
General Tips / Tricks
- Open Shortcut in A New Window/Tab Add '" target="_blank' to the end of the URL in your shortcut to make it appear in a new window. Include the double-quotes, but exclude the opening and closing single-quote, and note the space after the first double-quote and before "target." You can also right-click any shortcut link and select the option to open it in a new window or tab.
- Use Relative Paths For Portability If you want shortcuts to work even if the host changes (such as a development site that will later be migrated to another host), use relative paths instead of absolute paths. You can delete everything through "\admin\" on the left side of the path. For example, to add a page, all that's needed in the URL is "addcontent.php".
- Sort Shortcuts Shortcuts are sorted alphabetically by name (in ASCII order). Add punctuation or numbers as prefixes to display items in your preferred order.
Your Shortcuts
Have you found other handy shortcuts? Share yours in the comments!2.0 Needs (Your?) Help
Posted February 8, 2007 by Ted Kulp
- ORM
- Migrated javascript (mostly) to jquery
- Versioning on an object level
- Totally restructured API
- Function caching
- Full page caching
- Started installer
- Rewrite of content
- Smarty tags for module api functions
- Smarty tags for admin functions
- Rewrote how admin themes work (smarty templates) and how menus are loaded (xml file)
- Rewrote News to take advantage of module api changes
- Finish installer
- Multilanguage
- Versioning interface
- Workflow
- Permissions/ACLs
- Overhaul of language handling -- addition of the language manager to download translations
- Total rewrite of translation center to be database centric and able to create language files for download on the fly
- Admin interface overhaul -- especially content and permissions
- New block types, especially image
Modules and functions
Posted February 7, 2007 by signex
- One list of top 10 most used modules. Which could be news, search, FEU, FCKeditor, etc.
- Functions list, all tested and stable functions ready to be imported for user defined tags.
- All other modules the same way it is now.
Who is CMS Made Simple™ for?
For Editors
Maintain and update your site quickly and easily from anywhere with a web connection.
For Designers
Freedom to design the site you want. Straightforward templating that makes turning your designs into pages a breeze.
For Developers
A modular and extensible Content Management System that, with the Smarty templating engine, is easy to customize to create the sites and applications you want.
Latest Releases
User Guide 2 v1.5
2 April 2024
Review Manager v1.1.3
21 March 2024
AWSSDK 1.1.1
7 March 2024
AWSSDK 1.1.0
7 March 2024
AWSS3 1.1.1
7 March 2024
AWSS3 1.1.1
7 March 2024
Members Area Registration 1.0.2
20 February 2024
Latest Forum Posts
CMSMS Core • Re: Plugin 'smarty_cms_function_cms_action_url' not callable
By "10010110" at 18 April 2024 - 18:32
Modules/Add-Ons • ECB2 error
By "10010110" at 18 April 2024 - 17:28
CMSMS Core • Re: FilePicker preview image?
By "DIGI3" at 18 April 2024 - 13:04
Announcements
CMS Made Simple 2.2.19 - Selkirk
Posted November 28, 2023 by digi3
Category: Releases
Today we are delighted to announce the release of CMS Made Simple v2.2.19 - Selkirk. v2.2.19 - Selkirk is an incremental bug fix and stability release.
For further detailed information, please see the changelog where there is a full list of fixes and improvements.
As per the Dev Team's official support policy, the only versions of CMSMS currently supported are now v2.2.18 and v2.2.19. Please upgrade at your earliest convenience.
Thank you for your continued support and use of CMS Made Simple!
v2.2.17 - Iqaluit Release Announcement
Posted June 19, 2023 by digi3
Category: General, Releases, Announcements
http://www.cmsmadesimple.org/downloads/cmsms
We are pleased to announce the release of CMS Made Simple v2.2.17 - Iqaluit, an incremental bug fix, security, and stability release.
Read More