About

This site is maintained with the help of Content Management System (CMS). A CMS provides the back-end (admin pages) for a web site and generally allows the content to be edited easily, and new pages or images added with little or no knowledge of web programming or design. A good CMS will allow the new site admin to get up to speed quickly.

There are literally hundreds of CMS available. In fact, there are whole websites dedicated to helping you choose which CMS is right for your web project. I've tried out a lot of the PHP-based CMS. Some well-known and some not so well-known. In the early days of the web (way back in say, 2001) the PHP choices were pretty horrible. There were a handful of professionally coded applications but most of those seem to require either a VPS or dedicated server.

Things have gotten much better. PHP itself has matured and the applications written in PHP have matured right along with it. The most popular CMS are Drupal, Joomla and WordPress. I've worked with all three. Each has a number of add-ons available to help you expand the basic functionality and get a completely customized application.

The CMS in use here is called Concrete5. Compared to Joomla and Drupal, the admin is very simple. It doesn't take long to learn how to create new pages and begin editing them. The documentation for Concrete5 is a bit scattered so it did take me a while to figure out how to modify the site design. I haven't yet created plugins for this site but I have looked a some existing plugins and the process seems straightforward enough.

An initial installation of Concrete5 gives you a basic website with pages that can be edited. That's the foundation - the concrete. If you're somewhat adept at PHP you can begin customizing it from there, and add as little or as much as you want. It doesn't yet have a big following of developers and so there are very few ready-made plugins but that should change over time.

About Sheila.

I've been a programmer for more years than I care to mention. My first web project was a small, static site for my employer, a research group at Texas A&M University. That was in 1996. On that job I learned the basics of Perl, and CGI programming with Perl, and also began working with Linux. (I had been hired to do something else - format technical documents in MS Word for publication. I did that by processing the data first with Perl then automating Word to add formatting.)

In 1997, I took my rudimentary Perl skills and got a job as an Internet Engineer. I learned a lot on that job and gained valuable experience with large databases and also CGI and database programming with Perl and C. After three years my whole work group was laid off. I became a freelance programmer and began my transition to PHP and MySQL.

I currently have a handful of long-term clients. I do mostly maintenance programming and system administration. I am always looking for additional programming or troubleshooting projects. I like learning new things. If your project uses a technology that isn't mentioned on these pages, email anyway, I might have worked with it and not mentioned it or I'm just waiting for someone else to suggest it.

History of Shefen.com

The domain was registered in December of 2000. This was the same month I was laid off from a full-time job (along with my whole department and 10% of the company).

I'm not a designer so the look of the site doesn't change very often. I usually make changes to the design at the same time I'm making change to how the site is delivered. The first few versions were static HTML, next came a version that used PHP to include common fragments of HTML. After that was a rewrite using Smarty Templates (I wanted to learn how to use Smarty Templates).

After that there were several years with little or no change. Then I recreated the site with Concrete5, again this provided me the opportunity to learn something new.

Currently the site is displayed by Drupal. I've done some client work with Drupal so the switch from Concrete5 to Drupal wasn't a learning experience, rather I've decided to start adding more content to the site and Drupal has more to offer that will make that easier.

Now I just have to remember to add some content now and again.