About PBCS as Open Source Project |
|
Project-Based Calendaring System (in short PBCS)
is an open source web-based calendaring system, designed to be an useful aid for people who manage schedules for one or more persons. The main feature of PBCS, which distinguishes it from all other calendar applications, is that schedule planners can plan schedules for other people easily using day or week overview showing mutiple people at once. Of course there are the regular single-user overviews for those who look mainly at their own calendar. For people on the road it is now possible to sync your approintmnets into a Palm PDA.
|
|
History of PBCS
PBCS started as a replacement web calendar in september 2000 at my work where we used a different very inflexible web calendar. In the year 2000 development evolved quickly into the 0.3.1 release which was very usable for planning consultants on projects and technical people could use the calendar pretty well.
|
|
Early 2001 the 0.4 version was released making PBCS more accessable for non-technical users as it contained single-user overviews. It also used a simple theme system enabling users to personalise PBCS a little. This release has been around very long as the development of the 0.5 release took a long time, due to the major changes that should take place in that release.
|
|
It was a long wait until the the 0.5 release was done in July of 2002. This release made PBCS usable on a much bigger scale then before as it had an improved HTML theme system, new language support for six languages and basic Groups system. The code was also reviewed on security improving the overall security of PBCS on the login screen. Currently companies of around 100 people are using PBCS as their dedicated scheduling application without complications.
|
|
March 2003 the 0.6.0 release was done. This release had a lot of internal updates.The usage of the PEAR database libraries required a complete table and database renaming into lowercase names to be compatible with other databases then MySQL. MySQL is case-sensitive but most databases are not. Other improvements were made to the theme implementation as it now supported dynamic frame support making the new Aqualook theme possible. A plugin system was included so third-party plugins can be added to PBCS without too much knowledge of PBCS itself.
|
|
The patch-release 0.6.1 in July 2003 included the Template Power template engine, which was used to represent the navigation bar. The template approach made it possible to add icons into the navigation bar dynamically. A good example is to add a new overview using a plugin which must be accessible from the navigation bar.
|
Future of PBCS
A lot of desired functions are already implemented in PBCS. There are however still some things which need to be done.
|
Groups and Permissions Currently a maximum of 16 groups are allowed. These groups are only used to reduce the number of people in the User Picker. PBCS started as a small office Calendar application which didn't need permissions enabling everybody to see all schedules of everybody it is very much wanted to be able to use permissions.
|
Future releases of PBCS will have a dynamic user and group system enabling more granularity in groups including sub-groups. Each user or group can be assigned with specific permission. This way it is possible to restrict access to schedules on a group basis or even user basis. People can grant others access to their schedule if that is needed, so a secretary can have access to the directors schedule and nobody else.
|
A scheduling request system As PBCS was created to be a handy tool for project planners there was no need to first ask people if they agree with the appointment before the appointment was put in the calendar. As PBCS will be used more and more as a regular calendar application it would be nice to implement such a request system.
|
Template support and single frame layout As a good layout is very important factor for the acceptance of a different calendar application then Microsoft Outlook all HTML layout will be done using templates. This way will make it easier to adapt PBCS into portals and have special layouts to incorporate PBCS into intranets of companies.
|
|
There are circumstances were it would be desirable to have a single frame layout instead of the triple frame implemenation that we now have. A good example is browsing PBCS using a PDA which have small screens and sometimes even no frame support in their browser.
|
Object Oriented implementation Currently PBCS is maintly a functionally programmed web-application. As the implemenation grew a lot of common functions were added into the central 'util_funcs.php' file. The diversity of the functions don't make the code easier to understand.
|
|
Plans are to implement Object Oriented data classes which contain all data of PBCS. In these classes those functions that are specific to the classes are added making it easier to understand what function is used by what data. Using data classes will also make it easier to reuse specific appointment/note functions like recurrance. Once the Appointment class is complete there is a generic recurrance function calculating dates for an appointment. This way notes can also have recurrance quickly. That is something that is not easily possible now.
|
Data interchange with PDAs and other schedule applications First steps of PDA data syncronisation is being released in the 0.6.2 release of PBCS. The first supported PDAs are Palm PDAs as they are widely supported in the Linux world and there is also special PHP class to handle the Palm PDB datebook format.
|
|
The next step is to include iCal file import and export. There are PHP classes to read and write iCal files, the protocol is more complicated to understand and it will take more time until it is supported. This function could also people to use Outlook to view their appointments of themselves.
|
Roadmap
As PBCS is an Open Source project coded in the free time of the developers there are not deadlines when to release a new version of PBCS. It is only possible to give an indication what features will be in following releases.
|
Version 0.6.2 Support for Standard Time ( ie 2:00 pm) instead of Military Time ( ie. 14:00 ) Improved appointment and note layout Notes spanning time Bug fixes
|
Version 0.7.0 According to the Future of PBCS this release will contain the new group and permission system. This will be a major change and will possibly break current group settings.
|
Version 0.8.0 Including the scheduling request system as described in the Future of PBCS An additional security checkup Bugfixes for the group and permission system.
|
Version 1.0 This will probably be identical to the 0.8.0 release apart from bugfixes and additional language files.
|
|
After the 1.0 release the internal sweep of data classes and a complete template implementation will be done resulting in a 2.0 release.
|
Feature List
Here is a list of the most important implemented features:- Username and password authentication
- Special PBCS session management which remembers the previous settings of a user (ie. the selected users which are shown in the overviews)
- Separated user, project and client management pages for admin users in the administration section
- user authentication against the database or a POP3 server.
- Time format can be Military Time or Standard Time
- Users can change settings for their account, including password, name, surname, the show-range for the day-overview, the theme and the shown language
- Appointments can be made for multiple persons
- Appointments can be made recurrent in many ways. Daily, Weekly, Monthly and Yealry.
- Appointments can be edited afterwards on all settings (except recurrent ones!)
- Appointments can be deleted. Recurrent ones can be deleted completely.
- Appointments can be private without people seeing the content of the appointment.
- Notes on a day as reminders to do things. They can span time and will show up in the multi-day or single-week overviews
- There are seven overviews available. Two Single User Overviews and five Multi User Overviews.
- A small month overview for picking dates quickly
- Special GOTO button to quickly change to a specific month.
- A user picker enabling you to select the people you want to show up in the overviews.
- Groups to split up users in smaller groups, making the User Picker less full, then before. ( max 16 groups, no sub-groups possible)
- Status fields in Appointments identified using different background colors in the appointments.
- Language support in English, German, French, Dutch, Norwegian, Italian, Swedish, Danish and Spanish.
- Theme support including HTML themes and partial template support for the navigation frame (best place to add business logos)
- A shell installer script for Unix based systems for a clean fresh install.
If you are interested in more accurate changes then there is a CHANGELOG file to satisfy your needs.
|
|