View source for Action: Scheduler

#||
||
Compatible with: !!(green)**R6.x**!!
Current version: 0.4
Credits: ((user:AhA AhA)), ((user:WikiAdmin WikiAdmin))
|{{toc numerate=1}} ||
||#

##""{{scheduler}}""##

===Description===
Scheduler is an action which allows a person to keep a day calendar (or diary for that matter). Although the entry formatting is simple, at the same time it provides flexibility. A user can enter a day schedule.....

%%
8:00 am - meeting with joe
9:00 am - coffee with angie
10:00 am - clients from budapest
%%

or use it to keep a to-do list, or even a diary for the day. The schedule for a day can be viewed with the entry tool, in the monthly view, or in the day view. The day viewer is formatted for printing out usable schedules, & you can designate a specific user with it and see somebody else's schedule (I intend on modifying this so that there will be an easy-to-use text entry box for entering user names). 

===Download==
  1. Repo for R6.1 (switch branch for previous versions)
    1. ((source:master/community/action/scheduler.php action/scheduler.php)) (add here: ##action/##)
    2. ((source:master/community/action/template/scheduler.tpl action/template/scheduler.tpl)) (add here: ##action/template/##)

===Installation==
To install the scheduler system, the existing database must be extended by 1 table and the following PHP file must be copied to the ##/action## folder.

====Action====
This script must be saved under the name **scheduler.php** and copied to the ##/action## folder.

====Template====
This script must be saved under the name **scheduler.tpl** and copied to the ##/action/template## folder.

====Database====
The existing Wacko MySQL database must be extended with the following table. Change the prefix for the tables accordingly if necessary.

create extra table:

%%(hl sql)
CREATE TABLE IF NOT EXISTS wacko_scheduler (
    scheduler_id INT(10) NOT NULL AUTO_INCREMENT,
    user_id INT(10) UNSIGNED NOT NULL DEFAULT '0',
    date VARCHAR(10) NOT NULL DEFAULT '',
    schedule TEXT,
PRIMARY KEY (scheduler_id),
KEY idx_user_id (user_id),
KEY idx_date (date)
UNIQUE KEY idx_time (user_id, date);
);
%%

====Message sets====
en
%%
	'SchedMustLogin'					=> 'The calendar works only for logged in users.',
	'SchedNoEntries'						=> 'There are no entries on this day.',
	'SchedLabel'							=> 'Appointments and tasks for ',
	'SchedCommentsNote'				=> 'Preface comments with @.',

	'SchedMonthlyView'					=> 'Monthly view',
	'SchedDailyView'						=> 'Daily view',
	'SchedMonthlyCalendar'				=> 'Monthly Calendar',
	'SchedCalendarLabel'					=> 'Calendar for',
	'SchedDayLabel'						=> 'Entry for the',

%%

de
%%
	'SchedMustLogin'					=> 'Der Kalender funktioniert nur bei angemeldeten Nutzern.',
	'SchedNoEntries'						=> 'Es gibt keine Einträge an diesem Tag.',
	'SchedLabel'							=> 'Termine und Aufgaben für ',
	'SchedCommentsNote'				=> 'Kommentare mit @ einleiten.',

	'SchedMonthlyView'					=> 'Monatsübersicht',
	'SchedDailyView'						=> 'Tagesansicht',
	'SchedMonthlyCalendar'				=> 'Monatskalender',
	'SchedCalendarLabel'					=> 'Kalender für',
	'SchedDayLabel'						=> 'Eintrag für den',

%%

====local usage of repository====
symlink the gallery action from community action folder in **wacko/action** and **wacko/action/template** folder in repo
%%
ln -s ../../community/action/scheduler.php scheduler.php
ln -s ../../../community/action/template/scheduler.tpl scheduler.tpl
%%

===Documentation==
How can I use this Calendar for group events?

Note:
By default only events of the (one) logged in person respectivly his actual account will be shown.

work around:
Share an account. Eg. "GroupXYAccount" which will be used for event accord only.

Login: GroupXYAccount
Password: onepasswordforallgroupmembers

===Changelog===
0.1	Intitial version
0.2  Ported to WackoWiki
0.3  Ported to R6.0
0.4 Added template
0.5 Replaced year, month and day parameter with date

===To Do===
  * --localization--
  * how to [doc]
  * month, week, day
  * refactor
  * --add template--
    * further cleanup: styles, tags and time format

{{backlinks}}