 |






|

Quick Links To dorcMan Info:
What features does dorcMan have that make it different?
Notable sites that were built using dorcMan
The story of the dorc
Notes about our technology
What features does dorcMan have that make it different?
There are a plethora of web site Content Managament Systems (CMS) online. Why would we go out and write our own? Are we insane? We won't answer the second question (we'll let you decide for yourself), but we will answer the first. In short, every CMS that we examined prior to writing dorcMan came nowhere close to being an "ideal" solution to our needs or to the needs of our clients. Many of the features that we included are missing from all other CMS's. No other CMS that we have seen even come close to having the other features. There are many advantages to dorcMan over "the other guys." The advantages roughly fall into 2 categories, those for end users and those for developers. We originally planned to list them separately, but many of them belong in both categories, so we decided to combine the lists (these are generally ordered from more end user oriented at the beginning to more developer oriented towards the end):
Advantages over other CMS's:
- The ability to manage dynamic Shockwave Flash content. This allows end users and devlopers to create and maintain Flash and non-Flash versions of the same site without any extra effort and without having to manually creatge separate sites.
- No-brains necessary to manage content. This may sound silly, but web site content can *really* be managed by people at any level of skill. In fact, one of our developer's 10 year old daughter manages her own web site using dorcMan!
- Se habla mi quesadilla? We don't know any foreign languages (did we just make that apparent), but dorcMan can speak it! Management of multilingual web sites is now quick and easy. You only need to be concerned about the content - dorcMan takes care of the rest. The dorcman back-end even remembers your user's language preference, so when she returns to your site, she is presented with content in her own language. Managing multilingual sites does not have to be difficult! Other CMS' make it so - or they ignore the fact altogether and leave it up to you to find a solution. dorcMan makes managing miltilingual content muy fácil (very easy - or did I just ask where to find the bus stop?)!
- Amazingly flexible management of Cascading Style Sheets (CSS). You can define as many (or few) CSS classes as you desire and drop them into your site templates and/or pages by checking boxes in an easy-to-use Graphical User Interface (GUI) management tool. Furthermore, CSS definitions can be grouped to allow for easy selection of multiple CSS classes that are commonly used together.
- Flexible mixture of HTML and non-HTML content. Allows management of content layout to be as simple or complicated as your desires and abilities allow. If you don't know HTML, it won't affect your ability to manage content. If you do know HTML, you can have more precise control of how content lays out on the page.
- Incredible ease. Quickly and easily manage nearly all aspects of your web site from intuitive web-based forms.
- Add "pages" to your site without adding pages. Adding pages to your web site requires no file system access, or inherent knowledge of how to work around your operating system's file system. All web pages are stored as entries in a database rather than being actually separate files on the file system, which greatly improves manageability of small and large web sites alike.
- Management of as many layout templates as you want. Rather than being stuck with a single layout (as you are with most CMS's), you can store as many layouts as you like. If you want, you can have a different layout for each page on your site (but that would be silly, wouldn't it). When you add pages to your site, selecting a template is as easy as making a selection from a list.
- Separate content from layout. Since dorcMan uses database-stored templates instead of flat text/html files, changing templates requires only that. How many times have you managed a site and had to update a billion files to make a small site-wide layout change? How many times in making that redundant change have you accidentally altered the site content? dorcMan treats layout and content as they should be - as separate entities. Making site-wide layout changes typically requires a single change, and you are never in danger of harming your content due to layout changes. Let's face it, performing redundant tasks is one of the things that computers can do well. Why make many changes when you can make one change and let the computer do the rest of the work?
- Add variables to your content. Simply insert variables into your content and you have dynamic control of your otherwise static articles!
- Transparent cookie and non-cookie support. Other CMS' either have cookies, without which their software will not work, or they have no session capabilities at all. Requiring cookies is like telling 10% of the world that you don't want them on your site! Having no session support makes it impossible to build other tools, such as shopping carts, on top of your web site. dorcMan is the only CMS (and one of the only web applications in existence) that will use cookies if the end-user has them turned on, but will transparently handle sessions if cookies are not available. This insures a great deal of flexibility if you desire to grow your web site in the future.
- Upload and resize images. Forms are available for easy upload of images without a separate FTP client. Furthermore, with the proper program installed on your server (available with most major hosting companies), images can be resized automatically for you! Less time in Photoshop will allow you to spend more time updating content (or sipping coffee by the pool). Images that are uploaded through the web site forms can easily be dropped into your pages through drop-down lists.
- All common configuration is controlled from easy to use web-based interfaces. Technical features that are typically difficult to tweak in CMS's are easy to modify in dorcMan.
- Object-Oriented (OO) architecture. Designed from the ground-up to be completely OO. This means that the foundational code for any dorcMan-driven web site is scalable, stable, and easy to update with little to no affect to your live code. The flexible OO architecture is modular and encourages development of extended plug-ins to enhance functionality (we've already built a picture album plug-in). Other CMS's that claim to be OO have class definitions, but then add MANY files to the site that utilize procedural coding techniques. Mixing OO code with procedural code gains the advantages of neither, and ultimately leaves the programmer who wishes to make modifications with a mess to untangle.
- Fewer than 17,000 database tables necessary. OK, we used an abnormally high number to get your attention and to accentuate our point. The fact is that most of the CMS's out there install and use well over 50 (we've seen as many as 150!) database tables. This simply isn't efficient, and is a recipe for disaster! A simple, elegant data design will always be more robust and more efficient than one that is huge and bloated. How can you, as a developer, possibly know how to get what you want out of the data if you have to spend the rest of the week figuring out which table stores the data for which you are looking?
- Scalable and speedy. This is very much related to the previous point. Have you ever read that you shouldn't EVER store your layout in a database because the file system is way more efficient and you will crash your server? We have. We have even been called dirty names for suggesting that a good database design can be as efficient as flat files for serving layout data. The fact of the matter is that we have personally witnessed a single dorcMan-driven web site handle over 50,000 hits per hour without blinking an eye - on a Celeron 850! We forgot to mention that the same server was, at the same time, serving an additional 80,000+ hits per hour for a half-dozen or so other dorcMan-driven sites - while it was also serving mail and DNS for over 300 users. The fact of the matter is that a poor database design will result in poor performance. An efficient database design will result in a responsive web site. What we're ultimately trying to say is that you DON'T have to give up the flexibility of being able to store and server multiple templates from a database because someone has spooked you into thinking that a poor design is equivalent to "you shouldn't do it, even if you can do it well."
- Full, Open Source Application Programmer's Interface (API). The dorcMan API is full, and fully documented (both online and included in the dorcMan download). The API can be (and has been) used as a basis for any web site, even one upon which you have no plans to manage content. Much of the code works amazingly well as a foundational base for nearly any dynamic web site. This open class framework can be used separately for rapid dynamic web site deployment.
- Fully Documented API. I know that we've mentioned this before, but it's worth a little more bandwidth. Finding full API documentation in Open Source applications is a rare thing these days. Our attention to the need of our programmers to be able to look at API documentation while they write code has inspired us to do the improbable - write out the full API documentation in reproducible formats (online and PDF).
- Flexible authentication and user session management built-in. The dorcMan API has built-in mechanisms that enable multiple access levels and easy management of user authentication. Also, session and authentication management works regardless of the capabilities or enabled features of the client - cookies and javascript do not need to be enabled on the client.
- Decreased reliability on client-side technologies improves quality. No corporate-quality web enabled application should rely on client-side technologies for mission critical functions because you cannot trust the clients. Let's face it, people turn off cookies, people turn off javascript, people turn off features that make many web sites work. Even if only 3% of your visitors turn off client-side technologoes (studies indicate that many more people than this turn off such things), is losing 3 out of every 100 visitors acceptable? dorcMan runs entirely server-side (even the session management), so there are no requirements placed on the client.
- Flexible and elegant handling of difficult programming concerns. Many issues that relate to rapidly evolving languages, such as PHP require a lot of thought and good programming practices to avoid backwards compatibility problems. Take a look at dorcMan's Common class (if you dare to delve deeply into the realm of the geek) for an example of how we have negated a problem whereby early versions of PHP 4 used different variable names than more recent versions. Such design considerations are found throughout dorcMan's code.
- Very strict coding guidelines practiced here. Although there is a lot of very good Open Source software available, very little of it is written well. That is to say, it may function well, but we feel sorry for the programmer who needs to deploy the code and modify it to meet her client's needs. We have paid a great deal of attention to instituting impeccable coding practices such as commenting often, insisting on curly braces even where they are not explicitly required, and proper indentation levels. This leads to code that is amazingly easy to read, and can even be pleasurable to modify or extend (that's right, it can actually be pleasurable - so says the nerd in us).
- Secure by design. dorcMan code was written, developed and audited by people who have many years of security training and experience. Take a look at the (currently) most popular CMS system written in PHP and you will find that one of the add-ons is a "Patched" version of their application that was specifically designed to address the security problems that the main developers of the application are choosing to ignore. We have designed dorcMan from the ground-up to guard against common security problems, such as database query poisoning from the URL, and unnecessarily relaxed use of global variable scopes. These potential security breaches are generally left wide open in CMS's because the developers don't know about them, don't understand them or simply don't care. Guess what? Hackers DO know about them, they DO understand them and they DO care. Fortunately, so do we - and we have chosen to give security a higher priority than release schedule or other factors that cause development houses to release software before its time.
All of this makes it faster and easier to setup and manage any web site, even sites that would otherwise be static! Simply stated, we are confident that we have made the very best CMS available - commercial or otherwise. We're sure that if you give it a try, you'll agree.
Notable sites that were built using dorcMan:
LinuxRocks.org
LGEAdvertising.com
goTimeshare.com
ChooseYourDoctor.com
PlazaInnAshland.com
RogueValleyDoor.com
MitsTVSpots.com
BibleCodeDigest.com
The story of the dorc...
dorcMan is a content management system written in PHP using Object-Oriented Programming techniques and a MySQL database for storing content. DorcMan also forms a base set of code, from which other web site tools can be (and have been) built.
Initial programming for dorcMan started in 1997 as a way for us to give our customers a means by which they may update their own web site content. Over the years, the tool set has grown, and has become more stable and easier to implement. Today, dorcMan enables a developer to deploy a web site with dynamic (and easily updated) content in a matter of minutes.
dorcMan was written and conceived by Christopher Ostmo of Appideas.com. Significant contributions have been made by Josh Onarheim (documentation, code checks and help with setup of forums on the web site) and other members of Steelhead Advertising.
dorcMan is a community project and contributions are desired and welcome. Please see the guide to contributing that is located in the docs directory of the distribution and the "docs" link on the web site.
Notes about our technology:
- We are avid supporters of Open Source programming, Object Oriented programming and good programming (including functionality AND style AND convention). We are also big fans of MySQL and PHP as a platform for dynamic database-driven web sites. With all of its advantages (and there are MANY), PHP has lacked some key features for true Object Oriented programming. We are happy to see that the things we considered most important to what PHP was lacking in Object Oriented capabilities in PHP 3 and PHP 4 will be included in PHP 5. MySQL has also come a very long way in its inclusion of features that it has taken slack for leaving out. Ultimately, we believe that it has the greatest advantages of all database engines when it comes to serving dynamic web sites.
- All of our online and PDF documentation is stored in a database and dynamically generated by the *excellent* FPDF class. This allows us to maintain a single copy of all of our docs and generate updates on the fly. The result is documentation that is up to date. If you are a PHP programmer and need to generate PDF files, we recommend FPDF, which can be found at FPDF.org.
- Our discussion forums (after minor modifications by us) are powered by the popular Phorum application. Phorum has withstood the tests of time and trial, and has come out on top of all other similar applications. It can be found at Phorum.org
Have fun with the dorc...
|
|
 |