Ugh - There Will Be No More Demo on Soon June 21, 2006 21:16:41
Posted By: mdean
Well, last night I decided I would attempt to install DCL 0.9.5 on the server alongside the existing demo. But I found that the installer kept failing because the inc/ directory was not writable. I tried changing permissions to no avail.

Then, on my search through support forums and documentation, I find that the project directories are mounted read-only for the web servers. This means that the DCL demo will be going away once 0.9.5 is released. The Smarty template engine requires write access to store the compiled templates. The install requires writing to the inc/ directory to create the config.php file based on the supplied configuration.
0.9.5 Progresses - Finally June 18, 2006 20:46:13
Posted By: mdean
I took a vacation from work and worked on DCL during the week. Apart from a few outstanding quirks, DCL is nearly ready for the first release candidate of 0.9.5.

I have the detail screens looking fairly decent now. I also moved the load from the organization contact list to the contact browser by making a link to browse contacts just for that organization. As a result, the organization screen loads in a snap. I fixed numerous bugs with the implementation of the sanitization code and Smarty templates.

If all goes well, a RC will be ready by end of month.
DCL is Still Alive September 21, 2005 18:47:24
Posted By: mdean
Yes, it's been a while since the last update. I've been part "feverishly coding on DCL" and part "feverishly coding for my job". Lately, the job version has been taking over.

But with that said, we are expecting to launch DCL at work to our customers by the end of November. I have committed to get 0.9.5 done by this time, so it should be done by that time.

The last bit of work I have done is to finish getting most of the templates into Smarty so I can apply security rules inside the template. I also moved to a more correct implementation of HTML and CSS and am quite pleased with the results. Well, except for the detail screens.

I have to code up the maintenance of org/contact cross references and somehow make the detail pages a little lighter for both. Some of our orgs have hundreds of contacts and it takes a while to load, so I'll be looking at alternatives for displaying the data.

The only other thing left is getting the public/org user interface tightened up. It's mostly there, but has a few bugs that need to be squashed. Security Fix Released (For Real) March 23, 2005 20:21:46
Posted By: mdean
Fixed XSS vulnerability introduced in Thanks go to James Bercegay from GulfTech Research and Development ( for discovering the issue. Security Fix Released March 23, 2005 18:29:23
Posted By: mdean
An arbitrary PHP code execution vulnerability was reported and fixed. All users are urged to upgrade to this version. Thanks go to James Bercegay from GulfTech Research and Development ( for discovering the issue.
0.9.5RC1 Coming Soon January 03, 2005 20:38:07
Posted By: mdean
I made some good progress on 0.9.5RC1 this past week. The new installation and database upgrades are working. As noted before, the contact conversion will be normalizing free form data (contact name, phone, email) into the new contact manager. This has the potential to create duplicate contacts if the names or phone numbers have variations.

All that's left is to tidy up the contact management, fix remaining bugs caused by the schema conversion, create a "merge contacts" function to merge duplicate contact records together (caused by spelling/phone number variations), and finish the public interface. I'll also go through the bug/feature list at SF to see if there are any items that can be resolved.

I'm hoping this can be released this month. Following the feedback from the RC, I'll do more RCs if needed until the feedback shows that it's ready for a full release.
0.9.5 Release Status - Again October 24, 2004 17:43:17
Posted By: mdean
The next release had been going slow the last couple of weeks due to the paying job, so I didn't make my deadline of the end of September.

This release will probably see a hard coded public view of the data. I will reintroduce the metadata for tables and fields into the next version. This way, you'll be able to control what fields are viewable by the public restricted users. It's going to be a small amount of fields to start with, but you'll be able to open it up later.

Bryan Pointer continues work on the build manager. He has ported it to use the new security model in DCL. Hopefully others will be able to make some use of this and the ChangeLog feature to make change management a little more automated with DCL.

CVS is still unstable. Bryan says the setup program is not working for new installs, so I'll have to fix that and finish the upgrade code. The upgrade code is the most complex thus far, as it will convert the free form contact fields into normalized tables. So be ready: the cleaner your contact data is, the better the conversion will be. If you have spelling variations in the same contact, each variation will get a contact record. The contacts will be grouped by a numeric-only (non-numeric chars stripped) phone number and name.
0.9.5 Release Status August 29, 2004 18:39:50
Posted By: mdean
Things are starting to come together for the release. I have the RBAC implementation completely working, with the exception of item specific permissions. This will probably be a post-0.9.5 enhancement.

The contact management is still in need of the final touches to the maintenance screens. The popup dialogs I refer to in the previous post still need their own polish (like changing the initial filter based on add/update state).

The public part also needs wrapped up, but that is just a matter of going to specific classes and changing them to be aware of this restriction. I have done it with the product drop down in the ticket/work order form, so it's a matter of getting the filter everywhere it needs to be.

I also had a small setback in the development this weekend as we had an urgent need for some auditing at work. I finished that up this morning and installed it at work. I am now rolling that feature forward into 0.9.5, so it will now have auditing added to the release features. I only implemented it for tickets, work orders, and projects along with tracking work order/account associations and work order/project associations. These are tracked as Add/Delete events because they are cross reference tables. The whole record is the primary key, so it's impractical to track it as the actual records are themselves. After 0.9.5, I'll probably roll auditing into more of the tables.

One more thing: Do not use the CVS code! It is not fully working and represents a work in progress. It is (IMHO) better to have partially working code in CVS than losing the work I've done so far, so I'm trying to get code checked in whenever it makes sense (i.e., I have lots of changes).
Next Release Status June 22, 2004 07:36:29
Posted By: mdean
Overdue for another update. DCL is (still) in the middle of a major enhancement revolving around contact management. I have created pop-up dialogs for browsing/filtering/selecting contacts, organizations, and projects so far.

I have also started the actual public interface that will provide certain changes in behavior if a user is a member of a role with the public permission applied. This will involve forcing different views to only show publicly viewable information as opposed to all information. For example, a public user would only see public work orders that are submitted by them, are affiliated with an organization they are a member of, or it could just be all public work orders. Additionally, time cards can also be marked as public so you can enter time cards that contain private information that public users cannot see.

The conversion of the current contacts is going to be pretty hairy. Upgrades will initially be creating contacts from 3 sources: work orders, tickets, and personnel records. Organization population is easy since it is a direct conversion of the existing accounts table.

The Smarty Template Engine integration has been started as well. Currently the system runs with mixed engines, but all new development has been towards Smarty.
The More Things Change... April 16, 2004 06:35:26
Posted By:
It's been a couple of months since the last update, so here it is. I've been working on a couple of popular feature requests: contact management and a "public" interface. I have public support built so far for products, tickets, and ticket resolutions. I expect to complete work orders and time cards tonight, then begin work on the contact management and some permissions management.

I've also ported some nice things from CVS HEAD for the database abstraction that makes it much simpler to write support for new tables and fields in the database.

Bryan continues to work on the build manager. We've redesigned the user interface so more options are immediately obvious to the user. I've found that the drop down tends to "hide" things from people (i.e., they don't know to look there for more options).
DCL Status February 11, 2004 13:11:18
Posted By: mdean
I just wanted to post an update to our current development efforts. There are going to be some very nice things coming for DCL this year :)

Better SDLC Integration - We currently have several sub-projects underway that will provide:
  • Workflow Engine
  • Development process checklists
  • Enhancement tracking separate from work orders
  • Build Manager will integrate with the SCCS information captured in DCL to assist software librarians/builders in their task. This also could lead to automated build integration with DCL in the future.

Smarty Template Engine - Since we've removed PHP3 support and I think I just about pushed the phpLib derived DCLTemplate class as far as I want to, we'll be migrating over to the Smarty Template Engine. I recently did a project at work and used this engine as the template set and I must say I am impressed. I thought it had a bit too much hype, but after using it I realize it will provide a much cleaner separation of presentation and data. Because of this, it will be easier to create completely different user interfaces in DCL without being constrained by the default implementation.

I have code for the Build Manager (submitted by Bryan Pointer) and that is being merged into DCL currently. Mike Van Til is working on providing the workflow engine and the enhancement process described above as a real-world implementation of the workflow engine.

Before anyone yells "feature creep" or whatever :), I'd just like to say that DCL has always had features like this in the vision and scope of the project. You won't be forced to look at the options or use them - they'll be turned off by default and have to be enabled at your discression. DCL shouldn't be tied directly to software development processes, but it should be getting pretty darned good at it.
DCL Released January 04, 2004 17:51:35
Posted By: mdean
This release contains a bug fix for ticket notifications only.
DCL Released January 01, 2004 17:50:01
Posted By: mdean
Yes, it's true. This release covers minor bug fixes for 0.9.4 and other pre-existing bugs. phpGroupWare/eGroupWare and XOOPS support have been fixed. Well, it works on my machine (tm). You can find instructions in the new DclWiki.

From the release notes:
  • Russian translation, fix templates for Windows server installations, fixed integration with XOOPS and phpGroupWare/eGroupWare, and many other minor bug fixes.
Speaking of the Wiki, do feel free to contribute pages and documentation you think others will find useful.
DCL VSS AddIn 0.1 Source Released December 14, 2003 18:01:16
Posted By: mdean
I've released the source for the VSS addin discussed on the June 6th, 2003 post. The original text:

I have been working on a Microsoft Visual SourceSafe addin for DCL. The addin allows you to authenticate to DCL whenever you open a VSS database from the VSS Explorer or from any IDE supporting VSS (such as Visual Studio).

The purpose of the addin is to monitor adds and checkins to the VSS database and log those files against a work order or project. I currently have a ChangeLog action available for viewing changes logged, but a few other reports will be possible (such as reporting all changes within a project including any logged against work orders within the project).

Be aware that renames, deletes, and rollbacks are not tracked through the addin because the VSS interface does not have any methods for trapping these events.
DCL 0.9.4 Released December 13, 2003 21:49:20
Posted By: mdean
I've released 0.9.4 finally. The web based installer is included, and I did not remove the old SQL upgrade scripts as of yet. Backup your database before upgrading!!! I have tested the installer on all platforms, but this is essentially the first release of it. Backing up your database before the upgrade will protect you against any possible loss of data (and it's good practice regardless).

Please read INSTALL.txt or UPGRADE for information on getting started with this release. Be sure to remove the setup/ directory after you have finished installing or upgrading!

A couple more notes:
  • XOOPS verification did not go well at all. I'm putting it on hold (it wasn't finished anyway).
  • phpGroupWare verification also proved fatal since I couldn't verify it (CVS is down). I will probably need to refactor the login code for DCL to make it work (which is what XOOPS needs as well).
Update on 0.9.4 December 09, 2003 22:14:06
Posted By: mdean
I'm very close to releasing 0.9.4 - I hope to release the new version by this weekend. I have a couple of items remaining:
  • Verify phpGroupWare installation
  • Verify XOOPS installation
  • Secure setup (if config.php is present)
  • Last pass through the system
I've reworked the htmlView class to be template driven. I also reached a limitation of the phpLib template class, so I had to rewrite search results to render and output as it goes. I'll probably look at other template engines in the future (like Smarty).

Anyway, feel free to test. The more people that hit this, the more solid it will be :)
0.9.4 Status - Anyone want to test the new setup? October 19, 2003 14:59:47
Posted By: mdean
For the last few days, I've been grinding away at 0.9.4. Almost all the changes I have so far are checked into CVS. I haven't checked in the VSS AddIn yet, but the obvious priority is DCL.

The changes to the database are pretty extensive, but certainly necessary to bring the schemas more in tune between the different supported SQL servers. I haven't begun migrating the Oracle implementation yet, as it was never really supported and was stuck at beta quality.

If anyone wants to test the new code, it would be much appreciated. I can't account for all cases since everyone has different sets of data. I'm fairly comfortable with the PostgreSQL upgrade. The others (MySQL, MS-SQL, and Sybase ASE) need more thorough testing.

If you want to try it out, do the following:

$ cvs login
{press enter for password}
$ cvs -z3 co -r dcl-20020215-branch dclgw

A couple more things: PHP 4 is going to be the minimum requirement for PHP from now on. Also, I've updated a few of the screenshots showing the new UI style. There's still a bit of UI work to get this style propagated, but I think it looks clean and will provide a more consistent look to DCL.
Ping - Yep, Still Here September 23, 2003 11:47:47
Posted By: mdean
Since it's been a while since the last update, I just wanted to drop a note to say the project isn't dead :)

We have had a major release of one of our products under development - the release is just a couple of weeks away. After that, I intend to resume development of 0.9.4 and finally get it out into the world's hands.
Development Update - Visual Source Safe Add-In Coming Soon June 06, 2003 20:18:54
Posted By: mdean
Work is still going on for 0.9.4. Tonight I completed the first cut of the web-based upgrade script for DCL (that will hopefully also be phpGW Setup compatible). I have also created a schema proc class for Sybase.

I have been working on a Microsoft Visual SourceSafe addin for DCL. The addin allows you to authenticate to DCL whenever you open a VSS database from the VSS Explorer or from any IDE supporting VSS (such as Visual Studio).

The purpose of the addin is to monitor adds and checkins to the VSS database and log those files against a work order or project. I currently have a ChangeLog action available for viewing changes logged, but a few other reports will be possible (such as reporting all changes within a project including any logged against work orders within the project).

A future planned enhancement is to allow submission of a time card at checkin :)
Update on 0.9.4 May 30, 2003 06:12:00
Posted By: mdean
Good news! I currently have the web installer working for new installations. An important item to note here is that I am able to install DCL in Windows XP with IIS 5, PHP 4.3.1, and MSSQL2K and login right out of the box :)

That said, it should just be a couple more days. I need to get the installer to recognize when it needs to do an upgrade (and possibly add authentication to it so it can't be accessed by just anyone).

This also marks the first time the schema has become centralized and all installations should be generated the same. There were subtle differences before (like the one that caused MSSQL and Sybase to break), but this should eliminate problems arising from that.

The code is all in CVS if you'd like to give it a spin. Do not use it for an existing installation yet, just for testing. After you get DCL setup in the web server for access, just point your browser to and follow the wizard.
MSSQL Issues and Update May 16, 2003 05:28:12
Posted By: mdean
MSSQL (and presumably Sybase) support is broken at the moment. This is due to my use of the native datetime data type in the latest scripts. So, I am currently working on resolving this by switching MSSQL and Sybase over to use native datetime data types throughout the system. This should be released by early next week.

To help eliminate these issues from occurring in the future, I have been working on a web installer for DCL that uses a hacked version of the installer for XOOPS and the schema_proc classes I wrote for phpGroupWare back in the day. The schema_proc classes abstract the differences in handling schemas for different SQL servers. An added benefit is that phpGroupWare in turn will get updated database drivers and schema_proc classes that are more capable than today's versions.

I don't plan on having the web installer ready by the time I roll bug fixes for MSSQL/Sybase. It will probably end up as a 1.0 enhancement.
DCL 0.9.3 has arrived! May 08, 2003 22:34:49
Posted By: mdean
Finally, 0.9.3 has been released. As stated in the release notes: Added Wiki support, new template set "blue", aggregate stats, work order type field, ability to select multiple accounts per work order, database sessions, user preferences. Fixes for PostgreSQL 7.3, Sybase, searches. Started XOOPS support. Replaced popup calendar with The Coolest DHTML Calendar. Lots of other bug fixes and small enhancements.


Update: I have updated the 0.9.3 package with fixed upgrade/install scripts.
Goodbye RC, Hello Wiki May 07, 2003 04:57:22
Posted By: mdean
I've had "0.9.3" running at work for a while now. I have one outstanding issue to correct, but overall it looks pretty good. Everything is running great.

I also added sessions, preferences, and wiki support. The sessions have a configurable timeout in minutes (default 20). Preferences let the users choose their desired languauge, template, and email address.

Joe Jeskiewicz is to blame for getting wiki support in DCL. He snagged a Free Art licensed wiki class, modified it, and submitted his changes as a patch. The wiki is very basic compared to other full fledged wiki products, but this one is so simple to integrate that I'd rather use it now and improve upon it later. There is a "Main Wiki" which is global, and I added the ability to attach a wiki directly to products, projects, tickets, accounts, and work orders. The attached wikis know nothing of the other wikis and are in their own namespace.
Getting Closer April 19, 2003 20:47:32
Posted By: mdean
Getting closer to release now. I have checked in pretty much everything except for the enhancements to ticket searches for module and status type. Review the roadmap to see the items if you like.

I have multiple accounts working as far as I can tell. Again, it does NOT work in MySQL due to the lack of subselects. The accounts a work order is associated with are stored in a new table.

I also have added a work order type field. For example, a software development department may use "Bug", "Enhancement", or "Design Issue" as a set of types. The work order type field is propagated throughout the system (including searches, project filter/group, and aggregate stats).

I also replaced the calendar with The Coolest DHTML Calendar. This is a much nicer calendar. It requires a current standards compliant browser (as a lot of DCL does) to function. It does not work in Opera 7 as far as I can tell, but neither did the other one. Mozilla and IE should be fine.

This brings me to another note. I'm retiring support of NS4 and IE4. These two browsers are very outdated and it is difficult to support them when the W3C DOM is so much easier to work with. You'll find that some of the newer code uses DOM unconditionally, as well as more CSS usage. DCL still has quite a bit of work to be done in the CSS area, but it'll get there.

That said: XOOPS! I have a working menu that is pure CSS2/JavaScript, but alas - when I tested it, only Mozilla supported it. Konqueror and IE6 failed to show the menu items at all. I will see if there is a work around - if not, I'll just use a little more JavaScript to do the job. Otherwise, DCL works in XOOPS fine. It behaves the same as phpGroupWare, which means that if you have a matching account (by name) in DCL, it will pass you on through. I still have to create the admin hookup (whereby you have instant administrative access to DCL if you are a XOOPS admin). The styles are a little whack as well because of conflicts between XOOPS and DCL. Once DCL moves toward better CSS compliance, these issues should go away.

So, tomorrow I will do some more testing and make a final pass through the system. I will (for the first time) be creating a release candidate in case others want to test the new features. It should come out as 0.9.3-RC1, and barring too many bugs/issues, will be the only RC for 0.9.3.
Development Update April 14, 2003 22:10:28
Posted By: mdean
I'm working my way through multiple accounts currently. The account field in the workorders table has been replaced by a XREF table called dcl_wo_account. It is VERY worthy to note that this feature will not be available to MySQL until it supports subselects.

I also have been taking a break from that and got DCL displaying inside of XOOPS 2 RC3! If you don't know what XOOPS is, check out their website. The downer so far is that the drop down menus do not display properly. I will have to create an alternative for this to be of any use.
More Template Goodness March 19, 2003 06:11:32
Posted By: mdean
Well, not really. But I have the older user interfaces operating within their own template set. This means that the HTML markup can finally be removed from commonHeader() and commonFooter(). The default template set will be the drop down menu (since it was the first in the list and some people never try the others).

Only cleanup left on it now is adding fully qualified web path to the configuration. I added one for the actual DCL web directory because of how the templates work. Framesets are generated if frameset.php exists in the template directory, so the directory context is different.

Anyway, I hope to clean it all up tonight and get it into CVS.
Roadmap Updated March 17, 2003 19:13:54
Posted By: mdean
The roadmap has been updated with the latest development changes. You may notice I've added an item for Microsoft Project 2002 import/export. This is meant to flow like this:
  • Create project in MSP
  • Export to XML
  • Upload XML file to DCL
  • Import XML, creating specified projects, sub-projects, and work orders
  • Updates are made in DCL only
  • Export from DCL to XML file
  • XML file merged with MSP project
I haven't drilled down to exactly what is needed for merging other than it serves as an update. This will allow DCL to be used as a tool for updating a project in MSP without too much manual intervention.
New Template in CVS March 03, 2003 21:11:18
Posted By: mdean
The new template set has been checked in to CVS. This is by no means the final implementation. It's partially unfinished and I need to take the old menus out into their own template code. If you like living on the edge, you can check out the latest from CVS:

$ cvs login
{ press enter for password }
$ cvs -z3 co -r dcl-20020215-branch dclgw

This version does not require any database changes from 0.9.2. All you need to do is go to Admin...System Setup...Configuration and change the template set to "blue" under Look and Feel. Keep in mind that this is global and that the "blue" set does not currently provide for changing to one of the previous interfaces.

The reason the original menus aren't converted yet is because a couple of them use frames, which the current framework doesn't support. Shouldn't be too difficult to get that in, though.
Insert Into Roadmap... February 21, 2003 10:52:44
Posted By: mdean
Not only was 0.9.2 a surprise in the roadmap, but we'll be blessed with 0.9.3 as well. 0.9.3 will represent the final enhancements and bug fixes prior to work on 1.0. These include:
  • Rework UI for complete template generation
  • New template set as seen on the demo site.
  • Bug fixes for PostgreSQL 7.3.x syntax
  • Account detail view akin to product detail view
  • Ability to associate multiple accounts with a work order.
  • Finalize aggregate statistics.
  • Able to filter by projects for work order searches
  • Able to filter/display status type as a work order and ticket attribute
So, there's a bit of work there, but we'll get-r-done!
Demo Site Updated January 29, 2003 17:16:04
Posted By: mdean
I finally updated the demo site. It was running 20020120 (!!!), but is now running 0.9.2 + new template set. As usual, DHTML and JavaScript are required to run it. Mozilla, Netscape 6+, IE5.5+, or Konqueror should support it nicely.
Guess what? It's 0.9.2! January 28, 2003 22:10:33
Posted By: mdean
Not on the roadmap, but I felt this was a good enhancement to release since it could eliminate a few clicks in your workflow. Changes as stated in the release notes: Added ability to reassign in time cards, track reassignments when done via time cards, and fixed PHP notices when uploading files.
0.9.1 Is Out January 26, 2003 17:11:53
Posted By: mdean
This release adds special handling for MySQL's JOIN syntax that prevented a few things from working properly. Some small bug fixes if you have error reporting cranked on all the way are also included.
0.9 Released January 22, 2003 20:24:45
Posted By: mdean
I have released 0.9 tonight minus the new template set. While the new set is functional, it is not yet complete enough for public consumption. Now that 0.9 is out, I can begin pushing template changes to CVS.

So, it looks like there will be a 0.9.1 before work begins on 1.0. This is to satisfy some requirements for my employer. Most of them are pretty decent enhancements, so everyone else can benefit from these changes as well. I'll try to get them documented on the roadmap so you can see what they are. Alternatively, you may login to the GNU Enterprise DCL Installation as guest/guest and peek at what's in store for 0.9.1.
New UI Concept December 05, 2002 21:20:53
Posted By: mdean
It's getting to the point where the simplistic layout of DCL is getting to be a hinderance. Adding features requires more user interaction, and DCL lacks an intuitive interface.

So, I have mocked up a concept UI for DCL that should be a step in the right direction. Take a peek!
0.9 Is Coming Soon October 23, 2002 13:46:41
Posted By: mdean
I have checked in some major enhancements to the project management and introduced product modules. Product modules allow you to optionally break a product down into more granular components. For example, a project like DCL may have modules for work orders, tickets, projects, administration, security, etc. If a product has modules, the user will be forced to select one. If a product doesn't have any, the field is ignored.

The project detail will now allow you to perform grouping, multiple selection of work orders for assign, time cards, and details. You can also input work orders from the project detail. All of these options should return you to the project detail directly. UI flow hasn't been one of DCL's strong points, but it is improving.

I have also moved the roadmap to the DCL website.
DCL Roadmap Started October 02, 2002 00:00:00
Posted By: dneighbors
Another release of DCL is being prepared. As part of this work we have decided it is probably time to start using more official release numbers. We have started a very rough and high level roadmap. We will continue to refine it and massage it. You have find it here for now. Eventually it will be part of this site, just have to fix some permissions. ;)
DCL 20020706 STABLE Is Out! July 06, 2002 14:56:16
Posted By: dneighbors
There is a new release of DCL mostly covering security patches and some minor bug fixes. It is HIGHLY suggested that you update.
  • Escaping of html in data displayed from entry to avoid exploits (Ticket #84)
  • Fixed maxlength property for short account name (SF Bug #548886)
  • Fix to prevent file download spoofing (Ticket #83)
  • File upload verification to prevent spoofing (Ticket #82)
  • Fix broken import CSV form so it reads multipart so can apply security patches to it.
  • Patch from Jason Cater: Sender header add to outgoing dcl mails to make easily identifiable for mail filtering
  • Changed entry widget maxlen to 10 to match db schema.
Status June 11, 2002 18:34:09
Posted By: mdean
Well, it's certainly been a while since I wrote something here. Since the merger, I have been put on a project at work that has a very tight deadline. This has caused me to become inactive in DCL development.

The HEAD CVS for DCL contains numerous architecture changes, along with some enhanced contact management capabilities (still unfinished). I believe that once the arch change is done along with the contact mgmt, it will be ready for release. It will be a very significant upgrade, since the database has undergone changes for schema and naming conventions.

In the meantime, Derek Neighbors from GNUe has been applying some patches to the CVS stable tree and we should be looking at having a minor release soon.

After the project at work is delivered, I should be back in the saddle again.
DCL Merges with GNU Enterprise March 15, 2002 18:13:36
Posted By: mdean
Well, this is a little over a week old, but really should be on the DCL page. DCL has become part of the GNU Enterprise metaproject. By virtue of this, DCL is also now an official part of GNU.

What does this mean for the DCL project? Currently, things are going to continue business as usual. We haven't worked out the logistics of merging sites and code yet, since DCL has built some brand recognition (of sorts). We definitely don't want to harm that ;-)

Read the Press Release.
20020215 is out February 14, 2002 23:28:15
Posted By: mdean
I just released 20020215 in response to a bug about DCL not enforcing security levels within the actual functions, only through the menu (or links). Now, all protected functions *should* be checking for appropriate access. If the user doesn't have it, (s)he will get a Permission Denied page.

Also, since I haven't touched on this yet, I have created hot links for and http, ftp, and telnet URLs in description/notes/issue/resolution for work orders, time cards, tickets, and resolutions.

I have also created dcl:// urls for linking between items. Following is a list of the current ones:
  • dcl://workorders/<woid>-<seq>
  • dcl://tickets/<ticketid>
  • dcl://projects/<projectid>
20020120 comes to town and demo update... January 20, 2002 18:35:36
Posted By: mdean
A new release is out and CVS now has the currect stable branch as dcl-20020120-stable. This release was mainly created to add the ability for users to watch account tickets and work orders, since this just became a requirement where I work. ;-) The demo is now updated to this code as well :)

Changes as reported: Added ESMTP support to socket/SMTP classes, browsing for tickets and work orders, and ability to watch account tickets and work orders. Fixed PHP warning with undefined index DCLUI. Fixed problem with file attachment downloads on Windows servers by opening as binary.

Also, the socket class now has debugging support and will show writes and reads (prefixed with >>> and <<< respectively). If you need to debug an email problem and want to see what DCL is sending and receiving, just open the $dcl/inc/ file and set $this->oSocket->bDebug to true in the boSMTP() function.
Dev Update January 10, 2002 06:04:13
Posted By: mdean
Just wanted to let everyone know that development on the head branch is coming along, although it's very tedious. Since the introduction of PHP 4.1.x and the recommendation to run with register_globals = Off, I have also rolled into the list of things TODO: make DCL run with register_globals = Off. register_track_vars will still have to be on, but now DCL will know where it should be getting the data from so there is a less chance of exploit.
20011215 Hits The Streets! December 15, 2001 21:48:45
Posted By: mdean
20011215 is now out with miscellaneous bug fixes to DCL and e-mail gateway. E-Mail gateway now will process replies to ticket e-mails and append ticket resolutions, including file attachments.

Release is tagged dcl-20011215-stable in CVS.
Another Release Coming December 13, 2001 05:52:36
Posted By: mdean
I'm getting ready to make another release, but it really only covers bug fixes and enhancements to the e-mail gateway.
  • Missing semicolon on line 158 IIRC
  • Add config item for default account
  • Add ability to log replies as ticket resolutions
  • Add default logged by for replies
Another fix, perhaps, is that I committed a change to CVS stable last night to hopefully take care of the "Could not verify session" issue that some are experiencing with IE. It is a questionable fix, but I worked with someone that had this issue in IRC previously and this allowed most (if not all) of the problem machines to login.
New Release 20011209 December 09, 2001 20:15:24
Posted By: mdean
Well, got tired of sitting on this one, so I'm releasing 20011209. This has the e-mail gateway support, fixes the My Projects display, and some other bug fixes. Also included are some GNUe forms, though I'm not sure how current they are. They were contributed by Derek Neighbors, co-maintainer of the GNUe Enterprise project.

Instructions for installing the e-mail gateway are in the INSTALL.* files in the doc subdirectory. If you find an error or would like to add additional sections or verbage, let me know.

Additionally, the stable branch is now tagged as dcl-20011209-stable. Please keep that in mind when snagging CVS stable code.

Update: A fatal bug crept into the config class at the last minute, so a new release has been posted as 20011210. The CVS tag is now dcl-20011210-stable.
e-Mail Gateway in CVS Stable December 02, 2001 21:17:08
Posted By: mdean
I have just committed the e-Mail gateway in the stable branch of CVS. Remember the current stable branch is:

$ cvs login
Press enter when prompted for password
$ cvs -z3 co -r dcl-20011107-stable dclgw

Look under the contrib/gateway directory for the PERL script. This script requires DBI, Mime::Parser, Mime::Base64, Mime::QuotedPrint, Net::SMTP, and File::Basename. You will have to ensure the proper installation of these modules. I will provide whatever support I can, but I am by no means a PERL guru. The script also needs to be cleaned up quite a bit, but it is usable.

As far as the configuration goes, you will need to set the %dcl_domain_info item at the beginning of the script. This should be equivalent to the DCL config.php settings.

For the configuration settings in DCL, the SMTP server setting is reused for sending out auto responses (if auto-response is enabled). The DCL file path for attachments is also used to move e-Mail attachments to the proper directories (in effect, attaching any files to the newly created tickets :-). I have not finished the part that creates a ticket resolution if an e-Mail is replied to, but I don't think that will be difficult.

Also of note is that the user the script runs as (possibly your MTA daemon) will need read/write access to both the temporary storage for attachments *and* the DCL attachments directories. This is necessary to allow the attachments to be saved with the ticket (as if they were uploaded manually within DCL).

All in all, the gateway behaves as noted in the immediately preceding post, with the exception of item #7 and 8. E-Mail notification and watches still need to be implemented, along with a better e-Mail for the customer. Update: Notification and watches are now implemented!
e-Mail Gateway for Goodness!!! November 27, 2001 22:22:01
Posted By: mdean
Due to some long standing demands and recent interest in this feature, I am putting together a PERL script to process e-Mails sent to certain addresses. This will require setting the MTA to alias addresses sent to <product> to pipe to this PERL script. A Python version will also be made available in the near future ;-) The operational characteristics will be:
  1. Customer e-Mail is sent to <product>
  2. MTA intercepts message and pipes it to PERL script
  3. Script strips attachment and uses header and body info to create ticket. The product is assigned via the To: address (clever, eh?).
  4. Ticket is created
  5. e-Mail attachments are then attached to ticket
  6. Optional reply sent to customer automatically
  7. If customer replies to e-Mail and maintains subject formatting (specifically the ticket # reference), replies will be added as ticket resolutions.
  8. Any activity performed by techs can optionally be sent to customer.
I should have this gateway working by the end of the week and will include it in the stable branch, marking a good point for a release.

Work on the contact management progresses as well. I am currently getting work orders back into a usable state.
CVS HEAD Update November 21, 2001 18:36:00
Posted By: mdean
The code in HEAD is now able to configure a DCL installation from scratch. I am currently working on getting work order submissions working again.

I believe I am going to create a release of the stable branch as well so some of the support and duplicate bugs will stop for things I've already fixed ;-)
CVS HEAD is VERY broken now! November 11, 2001 15:39:19
Posted By: mdean
Just wanted to let everyone know that CVS HEAD is very, very, very broken. I have checked in the changes for the newer architecture and contact management. The database classes now share one core class - db_core. This obviously cuts down on maintenance a little since db_core is about 452 lines of code (including new database class functionality).

So, use the stable branch as described below if you want to get a working copy from CVS. I will also be committing bug fixes, etc. to this branch so releases can be made without worrying about how much has changed in HEAD.
CVS Info November 07, 2001 17:47:47
Posted By: mdean
Due to a couple bugs, a need to due a maintenance release, and my dev copy is very broken due to architecture changes - I have created a new branch on the dclgw tree. The tag name is dcl-20011107-stable and can be accessed as:

$ cvs -z3 co -r dcl-20011107-stable dclgw

This is after performing the cvs login of course ;-)
Development Update October 30, 2001 08:04:25
Posted By: mdean
Just wanted to give a quick update on development. I have abstracted the add/modify/delete operations for tables into the database drivers. This means that most of the db classes now only contain definitions of the table structure (field names and neutral types like text, auto, numeric).

I have also begun the tedious task of rearchitecting the classes so the web interface only makes calls to the html classes. This will open up the possibility of exposing DCL via XML-RPC or SOAP calls in the future.

Also, in the back of my mind I have been kicking around exactly what direction DCL needs to go in regarding the user interface. Looking around at other similar projects show that none of them really support a rich DHTML/CSS/JavaScript interface. Since DCL already supports JavaScript and CSS, I don't see too much of a reason not to bring DHTML into the picture.

So, if anyone out there wants to contribute a concept design for a new DCL interface, feel free to email me. If anything, it can be made available as a new template set so the existing interface can stay. I will be putting the html header and footer into templates as well, so anything *should* be possible to support.
XML? XSLT? GNUe? Python? Contact Management? October 07, 2001 18:15:42
Posted By: mdean
For the past week, I have been working on getting the accounts and contact management piece more correct. As those using it know, it was not extensible, didn't support i18n, and had a host of other issues I didn't care about. Along with this, tickets and work orders required the entry of contact information everytime, adding a possible degree of error and reducing the quality of information.

I have collaborated with Derek Neighbors from the GNUe project to create a schema for contacts usable by both of our projects. Hopefully phpGroupWare will buy off on it in the near future for their cdb application.

I have also created an XML based definition for DCL's DDL. I then use an XSLT for each SQL server to arrive at the proper DDL. This will mean much less maintenance on the SQL scripts, apart from the upgrades. The tools used in this procedure are: Python, Sablotron, PySablot, and Python Server Pages from the Webware toolkit.

That said, the next version will have a huuuuuuge upgrade script for the SQL and possibly will provide a web-based tool to help migrate contacts from accounts, tickets, and work orders to the contact tables. Of course, the option still exists that it can be done in SQL. There will be a good possibility of duplicates that need to be cleaned up as well due to spelling variations and such, but I'll make the best run of it I can. I have quite a bit of info to convert and preserve myself.

And one last little tidbit: Derek has been working on creating some GNUe forms for some of the DCL tables. This provides a client side GUI for maintaining the DCL supporting tables.
MySQL Script Error in 20010923 September 24, 2001 19:43:50
Posted By: mdean
Flavio Astorino pointed out a syntax error in the MySQL script for the latest release. The syntax error occurs at the end of the script for the install script. The upgrade script (20010916.sql) appears to be OK. All you need to do to fix the script is go to the end of the file and find the create table statement for dcl_status_type. Change the line

dcl_status_type_id number(11) not null primary key,


dcl_status_type_id int(11) not null primary key,

and you should be on your way! I didn't want to make a release just for replacing 6 characters with 3.

Alternatively, grab the updated file from here.
Release 20010923 up for grabs! September 23, 2001 20:04:26
Posted By: mdean
I posted 20010923 this evening. This release is from the dclgw module in CVS, so it will work in either phpGroupWare or stand-alone environments. For instructions on setting up DCL in phpGW see the news post dated 8/8/2001 entitled "dclgw in CVS!". It contains instructions on how to set it up and goes over how DCL "plugs in" to phpGroupWare.

Download, install, be merry!
What is this "Oracle" thing? September 23, 2001 15:03:28
Posted By: mdean
Well, I haven't had a chance to test it yet, but DDL and a db class for Oracle have been checked into the dclgw tree in CVS. The DDL was provided by Richard Hensley last month, and I finally had a few minutes to throw the class together. The main thing holding me up at the time was DCL's dependency on NumRows, which the Oracle client library does not support.

The last couple of days was spent removing all dependencies on the NumRows function call, and this also led to the removal of the GetField call. Now all resultsets should be traversed with db->next_record() and use db->f() for reading field data.

So, if anyone would like a crack at the Oracle version, please install it, set your db driver to oracle8 (uses the OCI library calls), and give some feedback.

A release may happen tonight as well!
Updates in CVS September 11, 2001 20:44:59
Posted By: mdean
I have committed some changes to CVS tonight on the road to release. One major change is the ability to define directories for file storage in each domain. This also introduces a method that forces the browser to prompt the user to download the files instead of viewing them inline (useful for things like HTML or PHP files ;-). I haven't tested the changes inside of phpGW yet - I expect the download portion to fail since it is in a similar situation as the images produced by the graphing classes.

I also committed a fix to the project templates as discussed in the forums last week. If the date was not mm/dd/yyyy for calculating deadlines, the resulting deadline (or any calculated date) would be corrupt since the format was hard coded. This has been replaced with the DCLDate class.

Which, BTW, brings me to this point: I renamed the Timestamp and Date classes to DCLTimestamp and DCLDate. This will hopefully cure the inability of APC (Alternative PHP Cache) to run DCL properly. In the past, the Date class was reported as undefined if APC was configured in the web server.

Please remember, if you are using the CVS version, the dclgw tree is the only active tree now. dcl is dead and both will be renamed appropriately in the near future.
Some News is Good News September 06, 2001 05:46:05
Posted By: mdean
Last night, I was able (within a matter of minutes :-) get the dclgw tree working in stand-alone and phpGroupWare with the same code. Essentially, all DCL does now is look for ../ to see if it is installed in a phpGroupWare environment. If not, it behaves as normal.

Of course, this means there is a major directory structure change. I need to take care of a few small bugs/enhancements and then I will be ready for a release. This version of DCL will be from the dclgw tree.

I have some major database work to do, but that will be for the next release. I will be migrating the schema_proc classes I wrote from phpGroupWare to DCL (if any migration is needed) and write a DCL setup app. I don't want to include the phpGroupWare version at this time since it is fairly dependent on their directory architecture and the phpGW API. I should, however, be able to work the setup directory in such a way that it will work in DCL and phpGroupWare.
dclgw in CVS! August 08, 2001 20:01:01
Posted By: mdean
I finally got enough of the code cleaned up to check it in. There's still a few minor hiccups (like graphs don't work because I'm always building the phpgw navbar). However, it is functional enough to start using/testing. Here's what you'll need to do:

$ cd /path/to/phpgroupware
$ cvs login
Press enter for password
$ cvs -z3 co dclgw
$ mv dclgw dcl
$ cd dcl/inc
$ cp config.php.default config.php
Edit config.php as normal per docs/INSTALL.txt

Everything else should be set up as normal according to the docs/INSTALL.txt file. The database can be set up in phpGroupWare, but mind you there's no guarantee there won't be a table conflict at this time although recent versions of phpGW should be fine. Also note that DCL will make its own database connection at this time, even if it the DCL tables are in the phpGW database. This will be cured soon. Otherwise, if you find something amiss, just let me know and I'll take care of it.

The last thing you'll have to do is tell phpGroupWare about DCL.

1. Login to phpGW as an administrator
2. Go to the administration app
3. Select Admin/Applications
4. Click on the 'Add' button
a. Enter dcl for the application name
b. Enter Double Choco Latte for application title
5. Click the 'Add' button to make phpGW aware of DCL
6. Go to the administration app again
7. Go to User Accounts
8. Modify the users that you want to grant access to DCL

Of note: DCL will need a corresponding account for each phpGW user that will be using it. This is because DCL does not use the phpGW auth system. The passwords do not have to match, but the logins do. DCL will attempt to lookup the user by the phpGW login name in the DCL database. If found, DCL will load that user's profile and use it. Otherwise, the user will get a search screen and a message stating they are not logged in.

You can also use this with an existing DCL database if you choose by changing the config.php settings to point to the existing database.

One more thing: the port is using the drop down menus to conserve space, so you'll need NS4, NS6/Mozilla, or IE4+ to use this effectively.
Development Update August 06, 2001 07:58:06
Posted By: mdean
So, I was sitting there yesterday contemplating several things I have lined up to do for several people. A quick list:

1. Oracle Port - I have DDL for the database, just need the class.
2. ACL support for better security
3. Configurable fields
4. Add contact info as searchable field

So, I figured 3 depends on 2 somewhat. 4 is easy enough to implement. 2 is absolutely necessary to allow configuration of what external users can do in the system. Number 1 means I have one more set of scripts to maintain (install + upgrades).

So, to ease my pain and suffering, I have about 99% of DCL working inside of phpGroupWare. I did this in about 6 hours yesterday. DCL does not hook heavily into phpGroupWare at the moment, and I think it's very important that it *not* heavily rely on phpGroupWare due to the volatile nature of their API.

What does this get me?

1. It gets me the possibility to use their ACL scheme (bitmasks), although I'm still pondering the use of my original roles/permissions design since it may provide much better performance in some situations.

2. I can create an Oracle schema_proc class for phpGroupWare and at the same time will be able to support Oracle in DCL using the new setup app in phpGroupWare.

3. Possible use of their contact information in DCL as appropriate, although I will avoid addressbook since it has no means of relating contacts to accounts at the moment. Their cdb project is probably the holy grail here, but has no usable code.

This has been a long time coming and the time is right. phpGroupWare has started migrating to a 3 layer app architecture, which DCL will fit into quite nicely. Does this mean that DCL will require phpGroupWare to operate? No. But, DCL will have to include (probably as a separate module) a version of their API that will be kept stable and inline with DCL development. This is a sticky situation since I'm not developing on the same timeline as that project and hopefully I can come up with a solution that will be easy to maintain and beneficial to phpGW users and non-users alike.

That said (whew!), I should be checking in DCL modified for use in phpGW tonight under a new module (dclgw). I *might* maintain both modules for a while to provide bug fixes in a timely manner, but I will focus on getting the dclgw tree to work standalone as well.
20010729 Released! July 29, 2001 21:14:42
Posted By: mdean
Promises, promises. 20010729 was released today. If you're upgrading, don't forget to run the SQL upgrade scripts ;-)

The documentation is unfinished (Getting Started guide), but is better than the outdated info that was there.

Next up is bug fixing (since this is a new release) followed by the ACL and configurable fields.
Slight Delay - Blame the Docs! July 26, 2001 20:33:28
Posted By: mdean
Well, the possible release slipped by because I decided to "quickly" rewrite the getting started guide (the doc formerly known as Up and Running with Double Choco Latte). Once that is done, I can package everything up and release. That'll be this weekend more than likely.
Possible Release Tonight July 24, 2001 10:13:55
Posted By: mdean
I've cleared up a few bugs last week and this week. I still have to do decoded storage of lookups in the checklists and update the documentation, but all else is pretty much ready.

Also, I have added a nested project view so projects can be shown with their children. This list can also be filtered by work order responsible and status. It does not show statistics like the detail view, but I feel it's handy nonetheless.
Gearing up for release! July 16, 2001 07:41:27
Posted By: mdean
I checked in the changes for everything last night into CVS. The only outstanding issues are storing checklist multi-select items decoded and the SQL scripts for all but PostgreSQL.

I plan on making a run through the bugs and small feature requests. I added 3 new settings for projects: include child project stats, include parent project stats, and show top level projects only in browse. These, of course, are set to default in a manner that should not affect DCL, but you can change them if you wish.

Anyway, if you aren't using PostgreSQL, I'd shy away from a CVS update unless you're comfortable converting the small upgrade script to MySQL/Sybase/MSSQL. I'll get these in tonight, more than likely.
It's | | this close... July 01, 2001 21:04:44
Posted By: mdean
Haven't gotten to the checklist modify and decoded data usage yet, but I have almost everything else cleaned up.
  • Added partial result set processing to MSSQL and Sybase classes.

  • Updated translations.

I also spent some time developing support for phpGroupWare to use MSSQL (and soon - Sybase). I ported my LimitQuery function over so they can start going through the code and making it friendly so the MSSQL driver can be used without any heartache.
Almost.....Got.....It...... June 25, 2001 07:46:23
Posted By: mdean
Checklists are *almost* done. Only modification of existing templates is to be implemented, along with using decoded values within the XML checklist document itself (it currently is storing the IDs from DCL). I also performed a few enhancements to existing functionality:
  • The dreaded project combo box for selecting a project to view is gone. It has been replaced by a browsable, filterable, paging result set. Much better! Filters currently are by status and/or project lead.

  • Added a graph for work orders similar to what tickets had.

  • Added phpLib compatible functions next_record() and f() to db layers. Will also be adding non-native limit support to Sybase and MSSQL classes to support new paging functionality.

  • Allow status to be changed when modifying a project.

That's all for now. Should be having a release by month's end.
Getting Closer... June 18, 2001 07:36:49
Posted By: mdean
Well, I'm getting closer to getting the checklist done. A lot of minor details need to be taken care of, but the current functionality is:

1. Upload templates and enter record in db.
2. Browse templates.
3. Initiate checklists.
4. Browse initiated checklists.
5. Modify initiated checklists (in work).

The XML document is stored in the filesystem and is referenced by the ID from the database record.

This feature really has the potential to provide basic workflow processing. I'm not sure if it will become an advanced system, but it is a good feature to have nonetheless.
OK, OK, phpGroupWare... June 01, 2001 07:45:41
Posted By: mdean
After I posted my little news item, it attracted the attention of jengo and Seek3r in phpGroupWare. I realize it was a little out of the blue for them, and I was told I need to be more persistent ;-).

So, I proposed a change to the phpGroupWare architecture last night (the biggest hurdle they were facing IMHO), and it seemed to go over well. Essentially, it calls for splitting the apps into 3 layers (as DCL is) so it will be easier to reuse the business logic and presentation elements across the different applications. This also makes it possible to slap on more interfaces (such as WAP or XML-RPC). This should be a nice step toward OGS-ville.

There are some other issues that need to be resolved, but I think those will be much simpler to present. All in all, this is very promising for DCL and phpGroupWare both.
YAU (Yet Another Update) May 30, 2001 13:42:25
Posted By: mdean
I have been working on the checklist functionality off and on. If I have enough time this weekend, the basic-bare-minimum essentials should be in place. After that will be a round of bug squashing, and then a release.

To let a cat out of the bag, there has been some debate as to whether or not to actually port DCL to use the phpGroupWare API. After some code review, it appears that the direction their API is headed is not the direction I anticipated to be used in the DCL environment. So, the obvious option is to reimplement the functionality of phpGroupWare as necessary, but in a proper OO manner. Currently, this would involve splitting DCL into it's discrete modules and creating a module registry. This will also allow you to slim down or expand DCL as much as necessary for your needs.

Also, I have included two new sections for the website: Who Uses It and Competition. Who Uses It is meant to be a page where people can declare their love for DCL and explain how they implemented it. This shows that DCL is versatile enough for more than just software development.

Competition will be a list of products that somehow are related to DCL, but are competitive packages. The list is just a bare minimum right now, but should grow with time.
Status Update May 01, 2001 18:34:11
Posted By: mdean
Update time once again.

The past couple of weeks has been spent squashing some minor bugs and implementing the new checklist feature. For now, no rules will be supported for state transitions or roles. That will be a future enhancement.

The checklists themselves will be stored (probably in the db) as XML documents. This is to prevent the erosion of the accuracy of a document's representation at a point in time as the checklist itself undergoes revisions. I had a schema created to support creating checklists within the database, but I opted for accurate history without jumping through hoops and maintaining lots of extra data to maintain that accuracy.

Unfortunately, this feature will require PHP4 support due to how XML in PHP is implemented. Since objects are used extensively in DCL, the XML support is no exception. I have created two classes that will read and write XML to/from a PHP array (sort of a DOM-like structure). This is already working and it works very good. All I need to do is add node searching capability and it will be usable for all XML document work.

I am now working on the checklist display. After that, will be the update (writing) functionality and then a release after some testing.
Status Update April 15, 2001 20:09:21
Posted By: mdean
Time for an update. I've been working on a few enhancements and a new feature. Also squashed a few bugs :-)

The most visible enhancement is the introduction of a pair of classes. One handles socket communications and the other uses it to do SMTP. This adds the ability to specify the desired mail server when sending e-mail from DCL. Also added is a switch to disable email altogether. This is all set up in the configuration area (Admin...System Setup...Configuration).

The new feature being added is checklists. Checklists will allow you to create checklist templates. The templates can then be used to create instances of checklists to provide some type of work flow. Of course, the roles/permissions based security would make this all the better.

One more note: developer documentation is available on the Documentation page of this site! The schema is also included within the doc. This isn't complete, but it is definitely better that what was there before: nothing.
Maintenance Release Out - 20010327 March 27, 2001 09:59:10
Posted By: mdean
Finally got a maintenance release out to fix the small issues that cropped up with 20010321. Mostly, the fixes have to do with support for MySQL, MS SQL Server, and PHP 3.x.
New Release! 20010321 March 21, 2001 21:51:16
Posted By: mdean
OK - new release time. This version moves most of the config into the database. That enabled the introduction of a new feature: multiple domains. You can set up any number of databases using the same web installation of DCL. Also, you can now select from the available languages at login, so the language setting is no longer global.

There are also several bug fixes in this release. Templates are still @ 99%, but I felt this thing needed to get out the door so more people are using it.

And remember, if you have an issue, stop by IRC (#dcl on
Whew! March 12, 2001 17:49:48
Posted By: mdean
Well, like templates, language support is 99% done. I have added quite a few more strings and copied the english versions to the other languages (de, fr, it, sv). So, once these are translated, language support will be much better. Keep in mind, though, that the resources are hardly optimized at this point.

With these two items at a good stopping point, it's almost time for a new release.
Status Update Again March 09, 2001 20:35:04
Posted By: mdean
Well, I've got about 99% of DCL running on HTML templates finally, as of a few nights ago. The only things not using templates are: menus, My DCL page, and generated reports.

I have also whipped up a new system setup screen. You can see it by going to the Screenshots link at the left. This should help remove some of the mystery of setting up DCL the first time and give better guidance as to what order to set up the items.
Status Update March 02, 2001 07:46:15
Posted By: mdean
I've slowly gotten some more templates put in place. Last night was spent just going through the rest of the htmlTickets class and converting it to templates. I'm finally done with it, but I haven't checked in htmlTickets.php3 yet because I am removing an obsolete function that is used by the ticket statistics only. Once I have it running on the new stuff, I'll get it in there.

Also of note, Ola Lundqvist has contributed a Swedish translation and files to build Debian packages. This is all currently in CVS. Many thanks to Ola!
News News News February 17, 2001 07:48:33
Posted By: mdean
Just a couple of things to pass on for now.

First, I registered #dcl at I won't be on there all day, but I should be in there during weekends and evenings during the week. Stop by, hang out, slap Maniac with a trout! ;)

Second, I've gotten some better-than-expected response from my SourceForge project posting. So far, five people have offered to help out with development and other tasks, so this will hopefully get DCL development rolling a little faster.
Yark! February 05, 2001 06:11:26
Posted By: mdean
Boy, everything was cruising along nicely. Until I hit the projects. I created two new classes from it - input/update form and the detail. So, I left off at htmlTicketsearches.php3.

I've also been contemplating the next feature to attack. Dan Bethe has requested multi-domain support for DCL. This won't be a problem at all to add in, with the exception of the config. So, this means I am going to (finally) move the config to the database. All that should be in the config at that point is domain db connection information.

Regarding phpGroupWare, I think I am going to abstract relevant parts of my API into a single file. Then I will abstract their API with similar functions into another file. This will significantly decrease the dependency on their API, as it is under heavy development and I just don't feel comfortable making it a full fledged dependency. This may slightly inhibit some functionality, but with enough time, it should work itself to be quite usable. But, I'm not entirely sure this is possible, but it's the angle I feel most comfortable with, so I will be investigating it soon.
Current Development February 03, 2001 15:04:57
Posted By: mdean
Well, I've spent the better part of today changing static strings to use single quotes so PHP will not parse them for variables or special characters. I'm currently finished with the db and bo objects and am moving to the html objects. As I do the html objects, I will be splitting the larger objects into smaller ones consisting of one form (for example, an account entry form will be its own class).

Jim Lieb also submitted a large patch that puts the client information into another table. What I will probably do with it is allow a many-to-many relationship for contacts (so an account has several contacts and a contact can belong to several accounts). This fits the business model where I work, and should make everyone happy (I hope).

Also, I plan on going through the reported bugs and trying to flush out what I can.
Release 20010129 Is OUT! January 30, 2001 07:21:59
Posted By: mdean
A new release of DCL was made late last night. This release includes SQL fixes for MySQL (removed subselects), another SQL problem with drop downs used by attribute sets, introduction of a quality questionnaire for call tickets, and other enhancements/fixes.

Michael Brader also submitted a patch to allow prefilling a work order from a ticket that is in this release. Thanks, Michael!

Also submitted by Michael was an expanded view for the My Work Orders and My Work Order submissions full page views. However, I had to modify it since it included MySQL specific syntax, so I just use a report view containing the columns. The columns are also sortable, though I think that severities and priorities are sorting by name instead of weight, so that will be fixed in a future release.
New Release 20010115!!! January 15, 2001 20:33:05
Posted By: mdean
FINALLY! I made good on my threat (late by a day), but I'm releasing the latest version of DCL for public consumption. Included in this update are: call tickets, attribute sets (defines actions/priorities/severities/statuses per product work orders and tickets), enhanced project support (including parent/child relationships), start of template usage, tons of fixes and small enhancments.

I realize the flow of attribute sets needs work. I'd like to get some input on it if anyone is willing to provide it. I don't want to lock them down to being input within a set exclusively, as that would give the impression you need to add the same attribute over and over to the other sets as needed.

I'm still looking for some help as well. If you're interested in helping DCL and are a tech writer, web designer, or PHP developer, fire me off one of them thar new fangled emails!
Status Update - Impending Release January 11, 2001 00:00:00
Posted By: mdean
OK - I'm about fed up with hanging on to this thing and I'm not getting very much feedback about the CVS recently, so I think by the end of this weekend, we'll finally see a new release of Double Choco Latte! Hope noone thought DCL dead...CVS has had some decent spurts of activity, with the most infamous at the beginning of December for the call tickets. That also happened to freeze me at number 11 in the Source Forge project activity list right before their statistics went south.

On another note, I have been working with the guys at phpGroupWare and it looks as if I will port some of my technology to their API and then port DCL to use their API and integrate with the groupware products. This will help me out immensely, as I'll be able to get some groupware apps into DCL and (maybe) some more exposure and development help.

Which brings me up to my next topic. If you're a web designer, PHP programmer, or technical writer looking for a project to take part in, please send me an email and introduce yourself and what you might like to help with in DCL. I have sooooo much to do and I can't do it in a timely manner by myself, so perhaps with the help of some great people and the phpGroupWare team, we can get DCL where it needs to be.
Status Update October 07, 2000 00:00:00
Posted By: mdean
Update time! Activity has slowed down here a bit recently, due in part to my having to drop what I was doing in DCL and start a call ticket piece. My employer is looking for call center software and I think the integration with DCL is very important, so that's what I've mostly been working on.

I also have started the FAQ system. At first, it will be browsable in sections, but I hope to allow changing the "view" of the FAQ. They will of course be searchable and will have the ability to be associated with products, or anything else that makes sense.

That said...back to coding!
Release 20000826! August 26, 2000 00:00:00
Posted By: mdean
Version 20000826 is up for grabs. Watches are implemented now. A watch can notify you when a particular work order, product work order, or project work order has one of these events: open, close, status change, any change.

The help system has been started. If you see a [?] or [Help] link, it will open a new window with on-line help for that screen. Not very complex coding, but when it is done, it will be a nice on-line reference.

NLS support is about 70-80% complete. This will allow DCL to be translated to other languages.

That's all for now. Enjoy the release. If any bugs pop up, we'll get them fixed ASAP.
Status Update July 14, 2000 00:00:00
Posted By: mdean
Time for an update, I suppose. The CVS version is coming along nicely. If you do contemplate getting it and upgrading an existing install, do run the database upgrade script from scripts/upgrade/{sql server}/3 to update your database. This adds an active field to almost all tables to allow users and other things to be deleted or disabled.

Also, file attachment support has been added for projects and work orders. Urmet Janes has also sent in a patch to allow uploading and importing a CSV file. He has also contributed a date class to better support dates for MS SQL Server and Sybase.

Also take a minute to visit the Source Forge project page for DCL and read my message in the open discussion forum regarding upcoming DCL enhancements. It slightly details some new features and the dependencies they will have, so if you are an existing "customer" or you are interested in DCL and are evaluating its functionality, please take a look and comment.
Demo Site Is Up! May 25, 2000 00:00:00
Posted By: mdean
OK, I have just put up a demo page for DCL. Feel free to browse around it and enter stuff. We do ask for common courtesy, so please play nicely! Note that I am using the Source Forge color scheme, but you can config DCL to use whatever you want. This particular installation is backed by PHP 3.0.15, Apache 1.3.12, and MySQL.
Status Update May 05, 2000 00:00:00
Posted By: mdean
OK, I admit it: I've procrastinated a little in updating this page. But, I'd just like to report what's been going on. I've received some patches from a couple of users (at least I hope they still are :-) ). Also, Tim and I have begun to attempt to put together a features list for DCL.

One of the sources being Brian Cooke who suggested an extra cookie for storing the preferred user menu so the default can be used during login along with some MySQL date handling tweaks and some default dates for work order input (I use this at work now).

The second source is Urmet Janes and has successfully completed an initial port of DCL to MS SQL Server 7.0 (one of two Micro$oft products I like, but it doesn't mean I agree with the ethics and all the other stuff). Urmet has kindly provided me his patches as will, so I will manually be integrating them into the CVS source this weekend. Possible new release if all goes well!
Project Moved To Source Forge! January 20, 2000 00:00:00
Posted By: mdean
Put up the SourceForge page. Follow the download link to the left (or the SourceForge link) to get to the DCL project page. You can download DCL from there or explore other possibilities!
Release 19991216 and Screenshots! December 16, 1999 00:00:00
Posted By: mdean
More Bug Fixes... Thanks to Tom Fillmore for pointing out a slight script error for the MySQL database creation script that mistakenly named the oid field id. Also...SCREENSHOTS!!!!
Release 19991213! December 13, 1999 00:00:00
Posted By: mdean
Bug Fixes... Just a bug fix release. A few people have written asking where is DCL going. Some of the things on the plate are: configuring optional/required fields, configuring naming of displayed forms and fields, addition of keywords, and improved e-mail notifications. Do stay tuned...
Release 19990916! September 16, 1999 00:00:00
Posted By: mdean
MySQL Support!!! One of the most requested features has come to town. This version presents initial MySQL support. Looks like that database abstraction paid off, eh?
Release 19990913! September 13, 1999 00:00:00
Posted By: mdean
Object DCL!!! Well, not really. But, this file will untar into a dcldev directory (to install alongside an existing installation (if you have one)). This version includes a list of changes too long to type. Mostly, it is a complete rewrite from scratch (minus db work) and has significant user interface changes. This version requires a 4.x+ browser, but we've been pushing JavaScript in previous versions, so it should be no problem for existing users. I've also added admin forms for the supporting tables, so setting up the database for your site should be a lot easier, since SQL is no longer involved.

Another big plus in this release is the total abstraction of the database access into a base class (dclDB). This distribution only includes a class for PostgreSQL server, but I'm sure more will be added in the future. If you wish to contact me about writing a specific SQL server class, make it so!!!
Progress Update September 07, 1999 00:00:00
Posted By: mdean
Probably time for an update, don'tcha think? I've been working on getting DCL back up and running, and I'm about 97% of the way there. I apologize for the delay, but this has been a complete rewrite. The database schema has not changed, so there are no worries about this upcoming release. Be advised, though, that I will have to change a few of the tables in order to accomodate some things that are missing, but needed. I will provide an upgrade path for those already running the older versions of the database, so don't worry about that!

A quick rundown of the work in progress: Users have a choice between a drop down menu (see screenshot from Aug 8 below) and a tree view in its own frame. These UIs both require JavaScript and DHTML, so a 4.x+ browser is required to use the system. I hate to leave out the lesser browsers (and I'll probably get support for them later), but no Open Source package exists to present the material in this manner. Anyway, I have worked to provide a consistent look and feel (if you will) to the system. It should be much more pleasing to the eye and more joyous for all to use.

All functionality is now object oriented. UI has been separated from business logic somewhat, and I have also created a base class for PostgreSQL server functions. What this means is that now it should be no problem to support any SQL server that PHP can get to in the future. I've had a couple of people write in and express intrest in MySQL, so this should provide a solid foundation for plug-n-play operation; no matter the SQL server.

I also have got entry forms for the supporting tables (accounts is in work). Viewing all records in these tables is also implemented.

I expect to release the next version by Monday, the 13th of September. Until then, the link from June 6 refers to the 19990625 snapshot, so help yourself!

DHTML Menu! August 08, 1999 00:00:00
Posted By: mdean
New Screenshot! This shot shows a preview of things (maybe) to come. A nice UI overhaul, but it requires JavaScript/DHTML to work properly at this point. Will probably have to code around that requirement and give users a choice, as this UI has a bug in Navigator and IE in that form elements display over the menu, no matter what the z-order is.

Well, it's been a while, hasn't it? A few things have happened since the last release. I think a big one is the 5 penguin rating from Linuxberg. Check it out in Console/Development/Tools. That is way cool! We also now have a listing on the PHP Projects page.
New Release! June 06, 1999 00:00:00
Posted By: mdean
Download........? Anyone..........?
We'll give the usual standard disclaimer here: This is incomplete, alpha software. Not only's not done either. Many parts are incomplete or are in a prototype stage. You are on your own to get the supporting pieces working, etc. If you have questions about configuring the software, don't hesitate to email us (hit the Web Page Makin' Guy link below). BEFORE YOU the the INSTALL. If you're not used to hacking software to configure it to work properly on your system, I suggest you wait for a later release. That's fair warning: It works for me (tm).
Screenshots! April 04, 1999 00:00:00
Posted By: mdean
The more things stagnate the more they stay the same...
It's been a period of activity and inactivity, but I've been plugging away on DCL for a few hours this easter holiday and have something to share with you: SCREENSHOTS! As a wise man said: "Everyone seems to love these things!" We almost have something ready for release. All that's needed is some docs to get it set up. A lot of the administrative tasks still have to be done by hand, but it is very usable.
Add Workorder
Job Detail
Generic Search
WorkOrder Search
Progress January 27, 1999 00:00:00
Posted By: mdean
Things have been progressing the last few weeks. We are probably not very far away from an initial snapshot of the work in progress. Nothing is really finalized as far as the UI goes, but it looks OK in places :). It should actually undergo some usage at my place of employment this week. Once we get TODO and INSTALL type docs (and clean up what needs cleaned up), we\'ll put up the snapshot here. Do keep in mind that a lot of work has to be done, so...
New Host! December 17, 1998 00:00:00
Posted By: mdean
Double Choco Latte gets virtual hosting @ provided by Netpedia as part of the Open Source Web Presence Project. Thank you very much! Maybe this will get things rolling...
Site Is Up! November 18, 1998 00:00:00
Posted By: mdean
The Double Choco Latte website is born!
Could not read SF project summary file