Revision [2104]

This is an old revision of NilsLindenberg made by NilsLindenberg on 2004-11-08 10:39:06.

 

Userpage of Nils Lindenberg


About me

I am a student of socail science at the university of Goettingen, Germany (currently on exchange in Bologna, Italy). You can find me also at WackoWiki, Wikipedia and http://www.openformats.org . I neither have a computer with the ability to code and test something in php, nor the skill to programm anything as complex as i would like, but someday... :-)

http://www.joelonsoftware.com/articles/APIWar.html - about the necessity of backward compatibility
http://www.joelonsoftware.com/articles/fog0000000054.html - the chicken and egg problem
http://www.joelonsoftware.com/articles/fog0000000020.html - against the myth of bload programms
http://phpwiki.sourceforge.net/phpwiki/WikiAsPim - about using Wiki for personal information management
http://www.cooper.com/articles/art_goal_directed_design.htm - designing for users, not for programmers
http://www.joelonsoftware.com/uibook/chapters/fog0000000059.html - choose which choises you give to users

My List of things which could be improved in, or added at Wikka

(the items are listed in descending priority)
  1. I18n, L10n=> WikkaInternalisation, HandlingUTF8
  1. a better System for Categorys => CategorySystemOverhaul
  1. A Calendar/organizer => GmBowenCalendar & see below
  1. E-Mail and => WikkaEmail & see below for some thoughts
  1. Toc (Table of Content) -> already implementet in WackoWiki
  1. Usermanagement -> UserAdmin
  1. Acces to the Config.php through a wikka-interface
  1. Smilys (ok, in some sort of "when everything else is done" ;-)

And, naturely, everything which gives Wikka new features oder improves the usability/the code.
 



Isue-based Calendar

Another idea, based on GMBowenCalendar, and on the "current day-based view" in http://www.cooper.com/articles/art_goal_directed_design.htm (second part). Instead of the typical month-based calendar "on" wich you write your eventes, the calendar should work on the base of marked events in wikkapages. Also a "current day-based view" would be nice.

 


Possible features

  • markup of events in wikkapages
  • events could be repeated daily, weekly, monthly and yearly
  • events could also have a time
  • events could have a time/date/month... when they begin and when they and, making it possible to have periods
  • events could be marked up in different categorys
  • the view could be shifted between weekly, monthly, yearly and a "current day-based view"
  • it should be possible to move to a week/month into the future/past easily
  • events should be userbased (user, group, public)
  • events should be deletetable by unmarking them on the page
  • there should be configurable items like: first day of the week, etc.
  • days should be shown colored (like sundays, past days etc.)

http://sourceforge.net/projects/webcalendar/
http://freshmeat.net/projects/activecalendar/

Markup for events

1. There has to be a markup for events on a wikkapage. The normal style for markup is a pair of a char around the text which should be marked up. It is replaced through a <span ="markup"> in the html page.
- The database needs the following information: date (day, [weekday, week] month, year), time (hour, minute), user, category [of the event], repeat[how?], [unsure about stop_date & stop_time]
- (calendar date,month,year,weekday,time, repeat) Text which appears in the calendar (/calendar) ??
- or is an action better?

2. The save function has to check on every change of the page if one of the events has changed or is "de-evented" (I like that word :). Save of a page is located in handlers/page/edit
- check if the date is a real date: checkdate should help
- look at the functions for the link - handling, the event - handling should work similar:

$this->ClearLinkTable();
$this->StartLinkTracking();
$dummy = $this->Header();
$dummy .= $this->Format($body);
$dummy .= $this->Footer();
$this->StopLinkTracking();
$this->WriteLinkTable();
$this->ClearLinkTable();

function TrackLinkTo($tag) { $_SESSION["linktable"][] = $tag; }
function GetLinkTable() { return $_SESSION["linktable"]; }
function ClearLinkTable() { $_SESSION["linktable"] = array(); }
function StartLinkTracking() { $_SESSION["linktracking"] = 1; }
function StopLinkTracking() { $_SESSION["linktracking"] = 0; }
function WriteLinkTable()
{
delete old link table
$this->Query("delete from ".$this->config["table_prefix"]."links where from_tag = '".mysql_real_escape_string($this->GetPageTag())."'");
if ($linktable = $this->GetLinkTable())
{
$from_tag = mysql_real_escape_string($this->GetPageTag());
foreach ($linktable as $to_tag)
{
$lower_to_tag = strtolower($to_tag);
if (!$written[$lower_to_tag])
{
$this->Query("insert into ".$this->config["table_prefix"]."links set from_tag = '".$from_tag."', to_tag = '".mysql_real_escape_string($to_tag)."'");
$written[$lower_to_tag] = 1;
}
}
}
}

understand how all this stuff works ;-) => http://www.develnet.org/28.html

3. At the html page something like (calendar:24.12)X-Mas"!(/calendar) should appear
- in formatters/wakka.php?


The calendar itself


Monthly view
Mostly based on the version of GmBowenCalendar. The calendar is included to a page as an action and has
  1. to get the currend date and time
  1. to build a table with the dates [the "current day-based view", weekly and yearly view could come later]
  1. to provide links to one week/month in the future/past
  1. has to look up, which day is the first in the week
  1. to mark days with different colors (like Sundays in red, days past by in gray, days with events in blue, current day in green [and the background with another color for periods of events?])
  1. to look up, which days have events and link them.

Yearly view
[for the yearly view something like: http://freshmeat.net/projects/activecalendar/ (picture!) (phpclasses.org:1870)]

The view of the events

GmBowen had a very good idea for his event action, he is actually working on. Showing them in a box near the calendar (more simple then my approach which wasn?t a real one :-) . With every click on a day linked to events, the box has to be "reloaded" ;-) to show the events of the selected day.

  • the function has to look up
  • the function for showing events has to look up, if the user has the right to see an event

repeatable events
events could be repeated the following way:
  1. no (one - time event)
  1. daily (at the same time)
  1. weekly (at the same weekday)
  1. monthly (at the same day)
  1. yearly (at the same day and month)
  1. [there are thingss like "every two weeks" ore "every workday"]

The Database

The database in which the events are stored, has to have the following things:
  1. event_id as a counter
  1. time, date, [weekday, week], month and year of an event
  1. the page_id it belongs to
  1. the user which are able to see it
  1. the text from the wikipage
  1. the category an event belongs to

Problems:
  • what about periods and repeatable events? [perhaps another table with the relation between events?]


E-Mail

Because I am using Wikis as a personal information manager, the possibility to read, store and write my e-mail in wikka would be a nice feature. Unfortunately I can't test anything here in Italy (no wiki), but a bit of thinking about it should'nt hurt :)

 


Idea and Features

So le'ts think about the things which are necessary for this:

  • should be able to get the necessary information from the user (e-mailserver, username, passwort,...)
  • establish/close a connection to the server
  • get the mail from the server (pop3, imap4)
  • store the mail in the database
  • show the mail (one mail, one page?, a list of mails which can be sorted after date, sender, from, size...?)
  • deal with attachments
  • asend mails (smtp)
  • final goal would be: I type a name in the search and get a list of the last e-mails sended to and recieved from him
  • should be able to be linked with an adressbook and the calendar
  • question: store the connection information for every user in the user-settings page? Perhaps allow only some users to use the e-mail action?

  • https://sourceforge.net/projects/poppawid/ popper_mod-wid is a free, full featured web based email client written in PHP. It is an extension of the now abandoned \"popper_mod\" project which was an extension of the origional popper. It runs on any server that can run PHP and mySQL. Uses POP and S
  • php/MySQL based webmail program. Currently only supports pop3, IMAP is in the works. Has a notebook, a favorites organizer and an addressbook.

RFCs

  1. old standard: 822
  1. new standard: 2822
  1. "envelope" (transmission and delivery) -> 2821 (old standard: 821)
  1. MIME document series [RFC2045, RFC2046, RFC2047, RFC2048, RFC2049] for non ascii-messages (and audio, video,etc.?)

RFC2822
  • only standard for messages, not for audio, images etc.
  • This specification is intended as a definition of what message content format is to be passed between systems.
  • local storage is outside of the scope of this standard.
  • Note: This standard specifies that messages are made up of characters in the US-ASCII range of 1 through 127.

Length
  • length of a line without CRLF: 998 char. max, 78 char. recommended (2822)

Header
  • name of header, followed by a colon (":"), followed by a field body and terminated by CRLF (2822)
  • body: US-ASCII (2822) except colon
  • header can be spread about multiple lines (folding white space after CRLF) -> should be unfolded (simply removing any CRLF
that is immediately followed by WSP)

To do

read all the rtfs
look what oother free php e-mail programms do and who
look up php-sendmail
whait till Javawomen has finished WikkaEmail and see what could be used :-)

CategoryUsers
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki