Revision history for NilsLindenberg


Revision [23224]

Last edited on 2016-05-20 07:38:47 by NilsLindenberg [Replaces old-style internal links with new pipe-split links.]
Additions:
Since february 2005 i am a member of the [[CreditsPage | wikka crew]], where my topic of interest is mainly the documentation (big surprise, isn't it ;-)
Visit my [[NiehLe | clone]] to see what i am working on (always behind :)
[[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]]
Deletions:
Since february 2005 i am a member of the [[CreditsPage wikka crew]], where my topic of interest is mainly the documentation (big surprise, isn't it ;-)
Visit my [[NiehLe clone]] to see what i am working on (always behind :)
[[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]]


Revision [19198]

Edited on 2008-01-28 00:14:43 by NilsLindenberg [Modified links pointing to docs server]

No Differences

Revision [16974]

Edited on 2007-05-31 23:27:32 by NilsLindenberg [Reverted]
Additions:
===Me, myself & I===
I am a student of social science at the university of Goettingen, Germany.
===My problem===
After years of working with various computers and surfing the internet, I have a huge collection of emails, saved webpages, bookmarks, word-documents, other documents adresses in local and web adressbooks, zip files etc. Not to mention tons of paper , notices etc. And I have searched years for a way to organize these informations, which means a) finding the things i am searching for and b) establishing relationships between them.
...
===The solution===
After testing some wikkas i finally moved to wikka. I made some little hacks to improve configurability, but mainly I am contributing to WikkaDocumentation.
Since february 2005 i am a member of the [[CreditsPage wikka crew]], where my topic of interest is mainly the documentation (big surprise, isn't it ;-)
::c::
----
<<
Visit my [[NiehLe clone]] to see what i am working on (always behind :)
**contact**
Leave a note or a comment on this page, sometimes I hang around on #wikka, too.
**other links**
[[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]]
<<
====My thoughts about Wikka====
Although WikkaWiki is now a very interesting pice of software, there are always things which could be done better. And because I do not want to talk only, I made some contributions to wikka in the three fields which seem the most important to me:
===Documentation===
//There's no good representation without good documentation :)//
The most important part for every project is a good documentation. This occurs to software, too. Not only for developers, but also for administrators and end-users. A documentation is only good if there are no questions remaining after reading it!
===Configurability===
Since people use wikka for many different purposes, wikka needs a maximum of configurability. My additions to that goal:
1) UserRegistration: An admin can choose if registration is disallowed, allowed only if you know a register-code, or allowed for everyone. This option (and the registration code) are stored in the config
1) StayingLoggedIn: Let the user choose if he wants to have permanent cookies with his name and password or only a session-based cookie (to be logged out when all browser windows are closed)
1) AutomaticUserPageCreation let an admin choose to create the page of a new user after his creation. As a template any wikkapage can be used.
1) PageAndCategoryDivisionInACategory seperation of pages and categories in the category action.
1) CommentsFormatting allows some (basic) formatting in comments. Problem with backwards compatibility :(
<<Links to read on:
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
<<::c::
===Compatibility===
To use Wikka to store informations it is necessary to be as compatible to other programms (and older versions of wikka) as possible. So that wikka becomes no information-oneway, but a "crossing point" ;-) My addition to that goal:
1) HandleCsvData is a library which shall contain functions for, well, handling (reading, writing, sorting etc..) data from and to *.csv files
1) ShowCsv is the first action using this library. It shows the content of a *.csv file as a html-table.
<<Links to read on:
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
<<::c::
//to be continued...//
----
CategoryUsers
Deletions:
===Me, myself


Revision [16773]

Edited on 2007-05-31 10:46:26 by EdtSvk [Reverted]
Additions:
===Me, myself
Deletions:
===Me, myself & I===
I am a student of social science at the university of Goettingen, Germany.
===My problem===
After years of working with various computers and surfing the internet, I have a huge collection of emails, saved webpages, bookmarks, word-documents, other documents adresses in local and web adressbooks, zip files etc. Not to mention tons of paper , notices etc. And I have searched years for a way to organize these informations, which means a) finding the things i am searching for and b) establishing relationships between them.
...
===The solution===
After testing some wikkas i finally moved to wikka. I made some little hacks to improve configurability, but mainly I am contributing to WikkaDocumentation.
Since february 2005 i am a member of the [[CreditsPage wikka crew]], where my topic of interest is mainly the documentation (big surprise, isn't it ;-)
::c::
----
<<
Visit my [[NiehLe clone]] to see what i am working on (always behind :)
**contact**
Leave a note or a comment on this page, sometimes I hang around on #wikka, too.
**other links**
[[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]]
<<
====My thoughts about Wikka====
Although WikkaWiki is now a very interesting pice of software, there are always things which could be done better. And because I do not want to talk only, I made some contributions to wikka in the three fields which seem the most important to me:
===Documentation===
//There's no good representation without good documentation :)//
The most important part for every project is a good documentation. This occurs to software, too. Not only for developers, but also for administrators and end-users. A documentation is only good if there are no questions remaining after reading it!
===Configurability===
Since people use wikka for many different purposes, wikka needs a maximum of configurability. My additions to that goal:
1) UserRegistration: An admin can choose if registration is disallowed, allowed only if you know a register-code, or allowed for everyone. This option (and the registration code) are stored in the config
1) StayingLoggedIn: Let the user choose if he wants to have permanent cookies with his name and password or only a session-based cookie (to be logged out when all browser windows are closed)
1) AutomaticUserPageCreation let an admin choose to create the page of a new user after his creation. As a template any wikkapage can be used.
1) PageAndCategoryDivisionInACategory seperation of pages and categories in the category action.
1) CommentsFormatting allows some (basic) formatting in comments. Problem with backwards compatibility :(
<<Links to read on:
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
<<::c::
===Compatibility===
To use Wikka to store informations it is necessary to be as compatible to other programms (and older versions of wikka) as possible. So that wikka becomes no information-oneway, but a "crossing point" ;-) My addition to that goal:
1) HandleCsvData is a library which shall contain functions for, well, handling (reading, writing, sorting etc..) data from and to *.csv files
1) ShowCsv is the first action using this library. It shows the content of a *.csv file as a html-table.
<<Links to read on:
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
<<::c::
//to be continued...//
----
CategoryUsers


Revision [13024]

Edited on 2006-01-31 16:32:57 by NilsLindenberg [small changes]
Additions:
Since february 2005 i am a member of the [[CreditsPage wikka crew]], where my topic of interest is mainly the documentation (big surprise, isn't it ;-)
Visit my [[NiehLe clone]] to see what i am working on (always behind :)
Deletions:
Since february of this year i am a member of the wikka crew, where my topic of interest is mainly the documentation (big surprise, isn't it ;-)
Visit my [[NiehLe clone]] or my [[http://www.niehle.info testing page]] to see what i am working on (always behind :)


Revision [11160]

Edited on 2005-09-24 13:05:34 by NilsLindenberg [update]
Additions:
I am a student of social science at the university of Goettingen, Germany.
Deletions:
I am a student of social science at the university of Goettingen, Germany (currently on exchange in Bologna, Italy).


Revision [11159]

Edited on 2005-09-24 12:50:51 by NilsLindenberg [added feed for my bookmarks]
Additions:
{{rss url="http://del.icio.us/rss/niehle"}}
::c::
<<
Visit my [[NiehLe clone]] or my [[http://www.niehle.info testing page]] to see what i am working on (always behind :)
<<
Deletions:
>>Visit my [[NiehLe clone]] or my [[http://www.niehle.info testing page]] to see what i am working on (always behind :)
[[http://del.icio.us/niehle my bookmarks by del.icio.us]]


Revision [11128]

Edited on 2005-09-20 23:54:45 by NilsLindenberg [link added]
Additions:
[[http://del.icio.us/niehle my bookmarks by del.icio.us]]
Deletions:
**quote of the month**
from #wikka:
<steveb> your help will be needed now :P
<NilsLindenberg> everyone needs jws help :)
JavaWoman only has two heads


Revision [10428]

Edited on 2005-08-04 10:41:00 by NilsLindenberg [layout]
Additions:
>>
Deletions:
>>::c::
{{mypages}}


Revision [8915]

Edited on 2005-06-07 12:39:20 by NilsLindenberg [added contact + quote of the month]
Additions:
**contact**
Leave a note or a comment on this page, sometimes I hang around on #wikka, too.
**quote of the month**
from #wikka:
<steveb> your help will be needed now :P
<NilsLindenberg> everyone needs jws help :)
JavaWoman only has two heads


Revision [6821]

Edited on 2005-03-21 14:41:42 by NilsLindenberg [moved todo list]
Additions:
>>Visit my [[NiehLe clone]] or my [[http://www.niehle.info testing page]] to see what i am working on (always behind :)
**other links**
[[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]]
>>::c::
Deletions:
You can find the things I am working on in the moment at http://www.niehle.info or in the todo-list below (many thanks to JsnX for give me a place to test :-)
>>===Links===
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
>>===To do===
//to have an oversight about what has to be done and what needs attention, more ore less orderd after priority//
1) look at the release-notes and update the documentation where necessary (see also AdminReleaseCheckList)
1) WikkaSkin: update
1) DocumentationIndex: write more
1) ActionInfo: write more
1) ShowCsv: finish?
1) HandleCsv:document
1) make a concept for ExportToPdf
~&FYI: wikini conversation re [[http://www.wikini.net/wakka.php?wiki=WikiToPdf wiki2pdf]]...already a wikini handler developed....see [[http://www.thierrybazzanella.com/index.php?2004/10/30/9-handler-pdf here]]...might be easier to just adapt since GPL. I tested it in wikini and it worked okay. --GmBowen
1) wikka-installer: take a closer look at it
1) well, the eventmanager and the emailsystem (if i ever find the time)
::c::
====My List of things which could be improved in, or added at Wikka====
(the items are listed in descending priority)
1) I18n, L10n=> WikkaInternationalization, HandlingUTF8
1) a better System for Categorys => CategorySystemOverhaul
1) E-Mail and => WikkaAndEmail
1) Toc (Table of Content)
1) User-to-User-Messages-System (completed this...see WikkaMail --GmBowen)
1) Access to the Config.php through a wikka-interface
1) Footnotes (http://www.istitutocolli.org/uniwakka/FootNote)
1) LaTex support (http://www.istitutocolli.org/uniwakka/MathInsert)
1) OpenOffice import/export
1) Smilys (http://www.istitutocolli.org/uniwakka/TablesAndSmileys)
====ActionInfo====
- searching the internet for code
- security (actions are open for everyone, solutions for [logged-in-user/Admin only])
- validity (xhtml, main sources for errors)
- parameters (how to get them, need of standard-values, proof of type...)
- errorhandling
- problems occuring with the writing
- generell part about html/php?
- box avout xhtml?
- test about libraries and using wikka-functions


Revision [6564]

Edited on 2005-03-07 18:45:12 by NilsLindenberg [little addition]
Additions:
I am a student of social science at the university of Goettingen, Germany (currently on exchange in Bologna, Italy).
===My problem===
After years of working with various computers and surfing the internet, I have a huge collection of emails, saved webpages, bookmarks, word-documents, other documents adresses in local and web adressbooks, zip files etc. Not to mention tons of paper , notices etc. And I have searched years for a way to organize these informations, which means a) finding the things i am searching for and b) establishing relationships between them.
...
===The solution===
After testing some wikkas i finally moved to wikka. I made some little hacks to improve configurability, but mainly I am contributing to WikkaDocumentation.
Deletions:
I am a student of social science at the university of Goettingen, Germany (currently on exchange in Bologna, Italy). After testing some wikkas i finally moved to wikka. I made some little hacks to improve configurability, but mainly I am contributing to WikkaDocumentation.


Revision [6445]

Edited on 2005-03-03 14:20:56 by NilsLindenberg [little addition]
Additions:
>>===To do===
1) CommentsFormatting allows some (basic) formatting in comments. Problem with backwards compatibility :(
http://www.joelonsoftware.com/uibook/chapters/fog0000000059.html - choose which choises you give to users
Deletions:
http://www.joelonsoftware.com/uibook/chapters/fog0000000059.html - choose which choises you give to users
<<===To do===


Revision [6443]

Edited on 2005-03-03 14:13:09 by NilsLindenberg [little addition]
Additions:
1) DocumentationIndex: write more
1) ActionInfo: write more
1) AutomaticUserPageCreation let an admin choose to create the page of a new user after his creation. As a template any wikkapage can be used.
1) PageAndCategoryDivisionInACategory seperation of pages and categories in the category action.
{{mypages}}
Deletions:
1) DocumentationIndex: create
1) ActionInfo: write more //see below//
1) AutomaticUserPageCreation let an admin choose to create the page of a new user after his creation. As a template any wikkapage can be used.


Revision [6403]

Edited on 2005-03-01 11:30:09 by NilsLindenberg [small change]
Deletions:
1) WikkaDevelopment: write more about "adding software"
1) ++WikkaSystemFiles: needs to be updated for the new files and structure in version 1.1.6.0++


Revision [6290]

Edited on 2005-02-24 17:33:16 by NilsLindenberg [todo--]
Additions:
1) ++WikkaSystemFiles: needs to be updated for the new files and structure in version 1.1.6.0++
Deletions:
1) WikkaSystemFiles: needs to be updated for the new files and structure in version 1.1.6.0


Revision [6210]

Edited on 2005-02-20 21:43:39 by JavaWoman [layout (in-line comment)]
Additions:
1) make a concept for ExportToPdf
~&FYI: wikini conversation re [[http://www.wikini.net/wakka.php?wiki=WikiToPdf wiki2pdf]]...already a wikini handler developed....see [[http://www.thierrybazzanella.com/index.php?2004/10/30/9-handler-pdf here]]...might be easier to just adapt since GPL. I tested it in wikini and it worked okay. --GmBowen
Deletions:
1) make a concept for ExportToPdf (FYI: wikini conversation re [[http://www.wikini.net/wakka.php?wiki=WikiToPdf wiki2pdf]]...already a wikini handler developed....see [[http://www.thierrybazzanella.com/index.php?2004/10/30/9-handler-pdf here]]...might be easier to just adapt since GPL. I tested it in wikini and it worked okay. --GmBowen)


Revision [6208]

Edited on 2005-02-20 21:02:06 by GmBowen [info on wikini pdf handler 4 Nils]
Additions:
1) make a concept for ExportToPdf (FYI: wikini conversation re [[http://www.wikini.net/wakka.php?wiki=WikiToPdf wiki2pdf]]...already a wikini handler developed....see [[http://www.thierrybazzanella.com/index.php?2004/10/30/9-handler-pdf here]]...might be easier to just adapt since GPL. I tested it in wikini and it worked okay. --GmBowen)
Deletions:
1) make a concept for ExportToPdf (FYI: wikini conversation re [[http://www.wikini.net/wakka.php?wiki=WikiToPdf wiki2pdf]] -thank you mike :)


Revision [5885]

Edited on 2005-02-10 18:46:09 by NilsLindenberg [info on wikini pdf handler 4 Nils]
Additions:
1) WikkaSystemFiles: needs to be updated for the new files and structure in version 1.1.6.0


Revision [5834]

Edited on 2005-02-09 16:23:38 by GmBowen [update of info on user-to-user messages system]
Additions:
1) User-to-User-Messages-System (completed this...see WikkaMail --GmBowen)
Deletions:
1) User-to-User-Messages-System (working on this...see [[http://gmbowen.educ.unb.ca/wiki/wakka.php?wakka=MailBox MailBox ]]...the code (so far) is there....feel free to play with it - GmBowen)


Revision [5831]

Edited on 2005-02-09 15:52:27 by NilsLindenberg [removed parts to ActionInfo]
Additions:
1) WikkaSkin: update
1) DocumentationIndex: create
1) ActionInfo: write more //see below//
1) ShowCsv: finish?
1) HandleCsv:document
1) wikka-installer: take a closer look at it
====ActionInfo====
Deletions:
1) update WikkaSkin
1) begin with ActionsInfo //see below//
1) finish ShowCsv
1) document HandleCsv
1) the installer
====First Draft for an actions-howto====
[[WikkaDocumentation Wikka Documentation]]
====How to write your own actions ====
You are missing functionality in wikka? Something which maybe important to you but not to all wikka users? Why don't write yor own action? This HowTo wants to give you some help and hints for this.
===Planning===
At first, you should think about what you want to do and if an action is the best choice for it.
==Action vs. Handler==
Mostly you will have to choose between action and handler. You can easily seperate them with the following question:
Do you add something to a page, or do you want to do something with the page?
a)for an **addition to** a page (the google-form, a weather-forecast, a table), an action should be your choise
a)for doing something **to** a page (like cloning, deleting, editing...), use a handler
==Let others do your work... ;-)==
Since there are many people connected to the internet, it is highly possible that someone needed the same functionality as you and has already written it. You surely have looked at the (offical) WikkaFeatures and the Development-Category, but have you also seen the (inoffical) CodeContributions and the UserContributions-category?
It may take you some time to search all this places, but it is better than doing the same work twice.
==... or at least help you==
When you have started working on your action, announce this at PluginsInDevelopment, perhaps someone else would like to work on that, too.
===Security===
Since you can do a lot with actions, some caution while using them seems right.
==Accessing actions==
if you save the php-file in the actions-folder, everyone can use it, by typing in between the two double-brackets. You may, on the other hand, find it usefull to restrict access to an action to registered users/admins. You can solve this by putting your action between the folllowing structure:
if ACESS
here goes your action
ELSE
here comes your text why someone has no acess
a)limiting the access to registered (and logged-in) users
a)limiting the access to admins


Revision [5825]

Edited on 2005-02-09 14:58:59 by NilsLindenberg [some rewriting]
Additions:
===Me, myself & I===
I am a student of social science at the university of Goettingen, Germany (currently on exchange in Bologna, Italy). After testing some wikkas i finally moved to wikka. I made some little hacks to improve configurability, but mainly I am contributing to WikkaDocumentation.
Since february of this year i am a member of the wikka crew, where my topic of interest is mainly the documentation (big surprise, isn't it ;-)
You can find the things I am working on in the moment at http://www.niehle.info or in the todo-list below (many thanks to JsnX for give me a place to test :-)
>>===Links===
<<===To do===
1) WikkaDevelopment: write more about "adding software"
1) update WikkaSkin
1) make a concept for ExportToPdf (FYI: wikini conversation re [[http://www.wikini.net/wakka.php?wiki=WikiToPdf wiki2pdf]] -thank you mike :)
1) the installer
//There's no good representation without good documentation :)//
Deletions:
====Me, myself & I====
I am a student of socail science at the university of Goettingen, Germany (currently on exchange in Bologna, Italy). I have written some part of the german documentation at [[http://wackowiki.com/NemoD WackoWiki]] and you can sometimes find me at [[http://www.wikipedia.de/Nemonand Wikipedia]] and http://www.openformats.org .
You can find the things i am working on in the moment at http://www.niehle.info (many thanks to JsnX for give me a place to test :-)
>>====Links====
<<====To do====
1) ++cleaning up WikkaDevelopment+++write more about "adding software" //see below//
1) better mentioning of the now working installation (php5) and updating of WikkaInstallation
1) make a concept for ExportToPdf (FYI: wikini conversation re [[http://www.wikini.net/wakka.php?wiki=WikiToPdf wiki2pdf]])
1) finish the texts above (+rewrite)
1) the installer!!
//There's no good representation without good documentation//


Revision [5819]

Edited on 2005-02-09 05:42:14 by GmBowen [reference to wikini conversation on PDF output]
Additions:
1) make a concept for ExportToPdf (FYI: wikini conversation re [[http://www.wikini.net/wakka.php?wiki=WikiToPdf wiki2pdf]])
Deletions:
1) make a concept for ExportToPdf


Revision [5809]

Edited on 2005-02-08 16:01:17 by NilsLindenberg [layout]
Additions:
=====Userpage of Nils Lindenberg=====

====Me, myself & I====
I am a student of socail science at the university of Goettingen, Germany (currently on exchange in Bologna, Italy). I have written some part of the german documentation at [[http://wackowiki.com/NemoD WackoWiki]] and you can sometimes find me at [[http://www.wikipedia.de/Nemonand Wikipedia]] and http://www.openformats.org .

You can find the things i am working on in the moment at http://www.niehle.info (many thanks to JsnX for give me a place to test :-)

>>====Links====

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
<<====To do====
//to have an oversight about what has to be done and what needs attention, more ore less orderd after priority//

1) ++cleaning up WikkaDevelopment+++write more about "adding software" //see below//
1) better mentioning of the now working installation (php5) and updating of WikkaInstallation
1) look at the release-notes and update the documentation where necessary (see also AdminReleaseCheckList)
1) begin with ActionsInfo //see below//
1) finish ShowCsv
1) document HandleCsv
1) make a concept for ExportToPdf
1) finish the texts above (+rewrite)
1) the installer!!
1) well, the eventmanager and the emailsystem (if i ever find the time)
::c::
----

====My thoughts about Wikka====

Although WikkaWiki is now a very interesting pice of software, there are always things which could be done better. And because I do not want to talk only, I made some contributions to wikka in the three fields which seem the most important to me:

===Documentation===
//There's no good representation without good documentation//

The most important part for every project is a good documentation. This occurs to software, too. Not only for developers, but also for administrators and end-users. A documentation is only good if there are no questions remaining after reading it!

===Configurability===
Since people use wikka for many different purposes, wikka needs a maximum of configurability. My additions to that goal:
1) UserRegistration: An admin can choose if registration is disallowed, allowed only if you know a register-code, or allowed for everyone. This option (and the registration code) are stored in the config
1) StayingLoggedIn: Let the user choose if he wants to have permanent cookies with his name and password or only a session-based cookie (to be logged out when all browser windows are closed)
1) AutomaticUserPageCreation let an admin choose to create the page of a new user after his creation. As a template any wikkapage can be used.

===Compatibility===
To use Wikka to store informations it is necessary to be as compatible to other programms (and older versions of wikka) as possible. So that wikka becomes no information-oneway, but a "crossing point" ;-) My addition to that goal:
1) HandleCsvData is a library which shall contain functions for, well, handling (reading, writing, sorting etc..) data from and to *.csv files
1) ShowCsv is the first action using this library. It shows the content of a *.csv file as a html-table.

<<Links to read on:
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
<<::c::

//to be continued...//

====My List of things which could be improved in, or added at Wikka====
(the items are listed in descending priority)
1) I18n, L10n=> WikkaInternationalization, HandlingUTF8
1) a better System for Categorys => CategorySystemOverhaul
1) E-Mail and => WikkaAndEmail
1) Toc (Table of Content)
1) User-to-User-Messages-System (working on this...see [[http://gmbowen.educ.unb.ca/wiki/wakka.php?wakka=MailBox MailBox ]]...the code (so far) is there....feel free to play with it - GmBowen)
1) Access to the Config.php through a wikka-interface
1) Footnotes (http://www.istitutocolli.org/uniwakka/FootNote)
1) LaTex support (http://www.istitutocolli.org/uniwakka/MathInsert)
1) OpenOffice import/export
1) Smilys (http://www.istitutocolli.org/uniwakka/TablesAndSmileys)

====First Draft for an actions-howto====

[[WikkaDocumentation Wikka Documentation]]
----
====How to write your own actions ====
You are missing functionality in wikka? Something which maybe important to you but not to all wikka users? Why don't write yor own action? This HowTo wants to give you some help and hints for this.

===Planning===
At first, you should think about what you want to do and if an action is the best choice for it.

==Action vs. Handler==
Mostly you will have to choose between action and handler. You can easily seperate them with the following question:
Do you add something to a page, or do you want to do something with the page?

a)for an **addition to** a page (the google-form, a weather-forecast, a table), an action should be your choise
a)for doing something **to** a page (like cloning, deleting, editing...), use a handler

==Let others do your work... ;-)==
Since there are many people connected to the internet, it is highly possible that someone needed the same functionality as you and has already written it. You surely have looked at the (offical) WikkaFeatures and the Development-Category, but have you also seen the (inoffical) CodeContributions and the UserContributions-category?

It may take you some time to search all this places, but it is better than doing the same work twice.

==... or at least help you==
When you have started working on your action, announce this at PluginsInDevelopment, perhaps someone else would like to work on that, too.

===Security===
Since you can do a lot with actions, some caution while using them seems right.

==Accessing actions==
if you save the php-file in the actions-folder, everyone can use it, by typing in between the two double-brackets. You may, on the other hand, find it usefull to restrict access to an action to registered users/admins. You can solve this by putting your action between the folllowing structure:

if ACESS
here goes your action
ELSE
here comes your text why someone has no acess

a)limiting the access to registered (and logged-in) users
a)limiting the access to admins

- searching the internet for code
- security (actions are open for everyone, solutions for [logged-in-user/Admin only])
- validity (xhtml, main sources for errors)
- parameters (how to get them, need of standard-values, proof of type...)
- errorhandling
- problems occuring with the writing
- generell part about html/php?
- box avout xhtml?
- test about libraries and using wikka-functions
----
Deletions:
=====Userpage of Nils Lindenberg=====

====Me, myself & I====
I am a student of socail science at the university of Goettingen, Germany (currently on exchange in Bologna, Italy). I have written some part of the german documentation at [[http://wackowiki.com/NemoD WackoWiki]] and you can sometimes find me at [[http://www.wikipedia.de/Nemonand Wikipedia]] and http://www.openformats.org .

You can find the things i am working on in the moment at http://www.niehle.info (many thanks to JsnX for give me a place to test :-)

>>====Links====

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=> WikkaInternationalization, HandlingUTF8
1) a better System for Categorys => CategorySystemOverhaul
1) E-Mail and => WikkaAndEmail
1) Toc (Table of Content)
1) User-to-User-Messages-System (working on this...see [[http://gmbowen.educ.unb.ca/wiki/wakka.php?wakka=MailBox MailBox ]]...the code (so far) is there....feel free to play with it - GmBowen)
1) Access to the Config.php through a wikka-interface
1) Footnotes (http://www.istitutocolli.org/uniwakka/FootNote)
1) LaTex support (http://www.istitutocolli.org/uniwakka/MathInsert)
1) OpenOffice import/export
1) Smilys (http://www.istitutocolli.org/uniwakka/TablesAndSmileys)

::c::
----

====My thoughts about Wikka====

Although WikkaWiki is now a very interesting pice of software, there are always things which could be done better. And because I do not want to talk only, I made some contributions to wikka in the three fields which seem the most important to me:

===Documentation===
//There's no good representation without good documentation//

The most important part for every project is a good documentation. This occurs to software, too. Not only for developers, but also for administrators and end-users. A documentation is only good if there are no questions remaining after reading it!

===Configurability===
Since people use wikka for many different purposes, wikka needs a maximum of configurability. My additions to that goal:
1) UserRegistration: An admin can choose if registration is disallowed, allowed only if you know a register-code, or allowed for everyone. This option (and the registration code) are stored in the config
1) StayingLoggedIn: Let the user choose if he wants to have permanent cookies with his name and password or only a session-based cookie (to be logged out when all browser windows are closed)
1) AutomaticUserPageCreation let an admin choose to create the page of a new user after his creation. As a template any wikkapage can be used.

===Compatibility===
To use Wikka to store informations it is necessary to be as compatible to other programms (and older versions of wikka) as possible. So that wikka becomes no information-oneway, but a "croissing point" ;-) My addition to that goal:
1) HandleCsvData is a library which shall contain functions for, well, handling (reading, writing, sorting etc..) data from and to *.csv files
1) ShowCsv is the first action using this library. It shows the content of a *.csv file as a html-table.

<<Links to read on:
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
<<::c::

//to be continued...//

====To do====
//to have an oversight about what has to be done and what needs attention, more ore less orderd after priority//

1) ++cleaning up WikkaDevelopment+++write more about "adding software" //see below//
1) better mentioning of the now working installation (php5) and updating of WikkaInstallation
1) look at the release-notes and update the documentation where necessary (see also AdminReleaseCheckList)
1) begin with ActionsInfo //see below//
1) finish ShowCsv
1) document HandleCsv
1) make a concept for ExportToPdf
1) finish the texts above (+rewrite)
1) the installer!!
1) well, the eventmanager and the emailsystem (if i ever find the time)

====First Draft for an actions-howto====

[[WikkaDocumentation Wikka Documentation]]
----
====How to write your own actions ====
You are missing functionality in wikka? Something which maybe important to you but not to all wikka users? Why don't write yor own action? This HowTo wants to give you some help and hints for this.

===Planning===
At first, you should think about what you want to do and if an action is the best choice for it.

==Action vs. Handler==
Mostly you will have to choose between action and handler. You can easily seperate them with the following question:
Do you add something to a page, or do you want to do something with the page?

a)for an **addition to** a page (the google-form, a weather-forecast, a table), an action should be your choise
a)for doing something **to** a page (like cloning, deleting, editing...), use a handler

==Let others do your work... ;-)==
Since there are many people connected to the internet, it is highly possible that someone needed the same functionality as you and has already written it. You surely have looked at the (offical) WikkaFeatures and the Development-Category, but have you also seen the (inoffical) CodeContributions and the UserContributions-category?

It may take you some time to search all this places, but it is better than doing the same work twice.

==... or at least help you==
When you have started working on your action, announce this at PluginsInDevelopment, perhaps someone else would like to work on that, too.

===Security===
Since you can do a lot with actions, some caution while using them seems right.

==Accessing actions==
if you save the php-file in the actions-folder, everyone can use it, by typing in between the two double-brackets. You may, on the other hand, find it usefull to restrict access to an action to registered users/admins. You can solve this by putting your action between the folllowing structure:

if ACESS
here goes your action
ELSE
here comes your text why someone has no acess

a)limiting the access to registered (and logged-in) users
a)limiting the access to admins

- searching the internet for code
- security (actions are open for everyone, solutions for [logged-in-user/Admin only])
- validity (xhtml, main sources for errors)
- parameters (how to get them, need of standard-values, proof of type...)
- errorhandling
- problems occuring with the writing
- generell part about html/php?
- box avout xhtml?
- test about libraries and using wikka-functions
----


Revision [5639]

Edited on 2005-02-04 20:14:16 by NilsLindenberg [added updating docu to todo list]
Additions:
I am a student of socail science at the university of Goettingen, Germany (currently on exchange in Bologna, Italy). I have written some part of the german documentation at [[http://wackowiki.com/NemoD WackoWiki]] and you can sometimes find me at [[http://www.wikipedia.de/Nemonand Wikipedia]] and http://www.openformats.org .
You can find the things i am working on in the moment at http://www.niehle.info (many thanks to JsnX for give me a place to test :-)
1) better mentioning of the now working installation (php5) and updating of WikkaInstallation
Deletions:
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 [[http://wackowiki.com/NemoD WackoWiki]], [[http://www.wikipedia.de/Nemonand Wikipedia]] and http://www.openformats.org .
You can find the things i am working on in the moment at www.niehle.info (many thanks to JsnX for give me a place to test :-)


Revision [5631]

Edited on 2005-02-04 19:08:57 by NilsLindenberg [update]
Additions:
1) E-Mail and => WikkaAndEmail
1) Toc (Table of Content)
1) Smilys (http://www.istitutocolli.org/uniwakka/TablesAndSmileys)
1) ++cleaning up WikkaDevelopment+++write more about "adding software" //see below//
Deletions:
1) A Calendar/organizer => GmBowenCalendar & see below
1) E-Mail and => WikkaAndEmail & see below for some thoughts
1) Toc (Table of Content) -> already implementet in WackoWiki
1) Usermanagement -> UserAdmin
1) Smilys (http://www.istitutocolli.org/uniwakka/TablesAndSmileys
1) cleaning up WikkaDevelopment+write more about "adding software" //see below//
===to keep at WikkaDevelopment===
<JavaWoman> the test suite for htmespecialcharsshould also be saved - maybe we should start a collection of text cases we can run new or changed code against to check it doesn't break things...
<JavaWoman> - * install.php does not remove /actions/wakkabug.php
<JavaWoman> - * wikka.php:
<JavaWoman> o (499) RE for InterWiki link not the same as in (formatter) wakka.php
<JavaWoman> - (3) check for valid page name should be done only for new pages ??? - not sure...
<JavaWoman> - mychanges does not really sort by last change (see SandBox)
<JavaWoman> - newpage: badly written .... (etc.)
<JavaWoman> - image does not have alt required (necessary for valid XHTML; no default should be provided)


Revision [5588]

Edited on 2005-02-04 15:21:45 by NilsLindenberg [update]
Additions:
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====
Deletions:
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====


Revision [5547]

Edited on 2005-02-03 23:07:20 by JavaWoman [minor fix]
Additions:
===to keep at WikkaDevelopment===
Deletions:
===to keep at WikkaDevelopment==


Revision [5544]

Edited on 2005-02-03 19:38:29 by NilsLindenberg [+keep]
Additions:
1) cleaning up WikkaDevelopment+write more about "adding software" //see below//
===to keep at WikkaDevelopment==
<JavaWoman> the test suite for htmespecialcharsshould also be saved - maybe we should start a collection of text cases we can run new or changed code against to check it doesn't break things...
<JavaWoman> - * install.php does not remove /actions/wakkabug.php
<JavaWoman> - * wikka.php:
<JavaWoman> o (499) RE for InterWiki link not the same as in (formatter) wakka.php
<JavaWoman> - (3) check for valid page name should be done only for new pages ??? - not sure...
<JavaWoman> - mychanges does not really sort by last change (see SandBox)
<JavaWoman> - newpage: badly written .... (etc.)
<JavaWoman> - image does not have alt required (necessary for valid XHTML; no default should be provided)
Deletions:
1) cleaning up WikkaDevelopment+write more about "adding software"


Revision [5540]

Edited on 2005-02-03 19:16:48 by NilsLindenberg [added to-do]
Additions:
====To do====
//to have an oversight about what has to be done and what needs attention, more ore less orderd after priority//
1) cleaning up WikkaDevelopment+write more about "adding software"
1) look at the release-notes and update the documentation where necessary (see also AdminReleaseCheckList)
1) begin with ActionsInfo //see below//
1) finish ShowCsv
1) document HandleCsv
1) make a concept for ExportToPdf
1) finish the texts above (+rewrite)
1) the installer!!
1) well, the eventmanager and the emailsystem (if i ever find the time)
====First Draft for an actions-howto====
Deletions:
====Fisrt Draft for an actions-howto====


Revision [5129]

Edited on 2005-01-24 18:28:56 by NilsLindenberg [additions]
Additions:
1) StayingLoggedIn: Let the user choose if he wants to have permanent cookies with his name and password or only a session-based cookie (to be logged out when all browser windows are closed)
1) AutomaticUserPageCreation let an admin choose to create the page of a new user after his creation. As a template any wikkapage can be used.
To use Wikka to store informations it is necessary to be as compatible to other programms (and older versions of wikka) as possible. So that wikka becomes no information-oneway, but a "croissing point" ;-) My addition to that goal:
1) HandleCsvData is a library which shall contain functions for, well, handling (reading, writing, sorting etc..) data from and to *.csv files
1) ShowCsv is the first action using this library. It shows the content of a *.csv file as a html-table.
<<Links to read on:
<<::c::
===Security===
Since you can do a lot with actions, some caution while using them seems right.
==Accessing actions==
if you save the php-file in the actions-folder, everyone can use it, by typing in between the two double-brackets. You may, on the other hand, find it usefull to restrict access to an action to registered users/admins. You can solve this by putting your action between the folllowing structure:
if ACESS
here goes your action
ELSE
here comes your text why someone has no acess
a)limiting the access to registered (and logged-in) users
a)limiting the access to admins
- problems occuring with the writing
Deletions:
And, naturely, everything which gives Wikka new features oder improves the usability/the code.
1) StayLoggedIn: Let the user choose if he wants to have permanent cookies with his name and password or only a session-based cookie (to be logged out when all browser windows are closed)
//to be added//
- problems with teh writing


Revision [5119]

Edited on 2005-01-24 16:23:18 by NilsLindenberg [addition]
Additions:
====Fisrt Draft for an actions-howto====
[[WikkaDocumentation Wikka Documentation]]
====How to write your own actions ====
You are missing functionality in wikka? Something which maybe important to you but not to all wikka users? Why don't write yor own action? This HowTo wants to give you some help and hints for this.
===Planning===
At first, you should think about what you want to do and if an action is the best choice for it.
==Action vs. Handler==
Mostly you will have to choose between action and handler. You can easily seperate them with the following question:
Do you add something to a page, or do you want to do something with the page?
a)for an **addition to** a page (the google-form, a weather-forecast, a table), an action should be your choise
a)for doing something **to** a page (like cloning, deleting, editing...), use a handler
==Let others do your work... ;-)==
Since there are many people connected to the internet, it is highly possible that someone needed the same functionality as you and has already written it. You surely have looked at the (offical) WikkaFeatures and the Development-Category, but have you also seen the (inoffical) CodeContributions and the UserContributions-category?
It may take you some time to search all this places, but it is better than doing the same work twice.
==... or at least help you==
When you have started working on your action, announce this at PluginsInDevelopment, perhaps someone else would like to work on that, too.
- searching the internet for code
- security (actions are open for everyone, solutions for [logged-in-user/Admin only])
- validity (xhtml, main sources for errors)
- parameters (how to get them, need of standard-values, proof of type...)
- errorhandling
- problems with teh writing
- generell part about html/php?
- box avout xhtml?
- test about libraries and using wikka-functions


Revision [4912]

Edited on 2005-01-21 15:30:38 by NilsLindenberg [addition]
Additions:
Since people use wikka for many different purposes, wikka needs a maximum of configurability. My additions to that goal:
1) UserRegistration: An admin can choose if registration is disallowed, allowed only if you know a register-code, or allowed for everyone. This option (and the registration code) are stored in the config
1) StayLoggedIn: Let the user choose if he wants to have permanent cookies with his name and password or only a session-based cookie (to be logged out when all browser windows are closed)

//to be added//
//to be continued...//
Deletions:
...
...


Revision [4909]

Edited on 2005-01-21 11:51:43 by NilsLindenberg [start of new design]
Additions:
====Me, myself & I====
You can find the things i am working on in the moment at www.niehle.info (many thanks to JsnX for give me a place to test :-)
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====
====My thoughts about Wikka====
Although WikkaWiki is now a very interesting pice of software, there are always things which could be done better. And because I do not want to talk only, I made some contributions to wikka in the three fields which seem the most important to me:
===Documentation===
//There's no good representation without good documentation//
The most important part for every project is a good documentation. This occurs to software, too. Not only for developers, but also for administrators and end-users. A documentation is only good if there are no questions remaining after reading it!
===Compatibility===
...
===Configurability===
...
Deletions:
{{lastedit}}
====About me====
Thanx to Jason, I can test at niehle.info :-)
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====
====Handling the Config====
[[http://www.niehle.info/NewInstaller moved!]]
====Issue-based Calendar====
[[http://www.niehle.info/EventManager moved!]]
====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?
===Links===
- 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.
- http://www.php-free.de/Email/
- http://de.wikipedia.org/wiki/Imap, http://de.wikipedia.org/wiki/POP3, http://de.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol, http://de.wikipedia.org/wiki/Simple_Mail_Access_Protocol, http://de.wikipedia.org/wiki/E-Mail
===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.?)
==[[http://www.faqs.org/rfcs/rfc2822.html 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 WikkaAndEmail and see what could be used :-)''


Revision [4011]

Edited on 2005-01-05 16:50:34 by NilsLindenberg [start of new design]
Additions:
[[http://www.niehle.info/EventManager moved!]]
Deletions:
<<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===
- events are attached to wikipages
- 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 {{colour c="red" text="sundays"}}, {{colour c="gray" text="past days"}} etc.)
//other calendar projects//
http://sourceforge.net/projects/webcalendar/
http://freshmeat.net/projects/activecalendar/
//time and date related//
http://phplens.com/phpeverywhere/adodb_date_library
http://www.php.net/mktime
===Adding, Editing, Deleting Events===
A new idea to handle events like comments attached to a page. The other way leeds to problems i can not solve now.
1. If a user has the right to see events attached to a page, they will appear on this page (below the comments or so)
2. If the user has the right to set events on a page, a form for adding events will appear, or is the ##action/event.php## will accept the parameters "new", "change" (or "edit") and "delete" better?
==The Code==
needed in ##wikka.php##:
%%(php)<?php
//config_options
"hide_events" => 0, //equivalent to "hide comments"
"default_event_acl" => "*",
?>%%
(there is no need to have an equivalent to "anoy_delete_own_comments" because events must be more editable then comments anyway)
%%(php)<?php
function LoadPageEvents($tag) //load the events attached to a page
{
return $this->LoadAll("SELECT * FROM ".$this->config["table_prefix"]."events WHERE page_tag = '".mysql_real_escape_string($tag)."' ORDER BY time");
}
function UpdateEvent() {} //this function will someday compare two events, the original and the changed and, if both are different, delete the old and save the new one, using DeleteEvent and SaveEvent

function DeleteEvent($event_id) {} //this function will delete an event from the database
function SaveEvent($startdate, $starttime, $stopdate, $stoptime, $page_tag) //saves an event to the database
{
$user = $this ->GetUserName();
$this->Query("INSERT INTO ".$this->config["table_prefix"]."events SET "./*...*/);
//...
}
function LoadEvent($event_id) {} //will load an event
function EventMatchesDay($event_id, $day) {} //function if an event is on the day specified
?>%%
The question is where to put the code which provides the form for adding/changing an event.
The form must contain:
-Start: //date dropdown menu (1-31)//. //month drop down menu (1-12 or better names)//.//input field for the year (four digits)// //Hour drop down (0-24)//.//Minutes (0-59)//
-Stop: //the same for stop.//
-repeat: //dropdown menu (no, daily, weekly, monthly, yearly)//
-end of repeat: //same as Start//
-frequency of repeat: //dropdown (1-25)//
-(categories the event is attached to - wait till category system is finished)
-(access: users which have access to the event - same structure as for the page acls)
I need another function which gets the data and checks:
- if the dates are real dates: [[http://www.selfphp.info/funktionsreferenz/datums_und_zeit_funktionen/checkdate.php checkdate]] should help
- the stop date/ end of repeat are after the start date
- the years are in the range of the organizer
===The Database===
There are changes in the original database needed.
It is necessary to create ##events##, the database in which the events are stored:
%%(sql)
CREATE TABLE `wikka_events` (
`event_id`,
`startdate`,
`starttime`,
`stopdate`,
`stoptime`,
`page_id`,
`event_repeat`,
`repeat_freqeuncy`,
`event_weekday`,
`creator`,
`text`
UNIQUE KEY `event_id` (`event_id`)
) TYPE=MYISAM ;
%%
1) ##event_id## as a counter
1) ##startdate##
1) ##starttime##
1) ##stopdate##
1) ##stoptime##
1) ##page_id## (or is the name better?) for a backlink and for the adding to a page
1) ##event_repeat## with the options //no//, //daily//, //weekly//, //monthly//, //yearly//
1) ##repeat_frequency## every time, every second etc.
1) ##event_weekday## only for repeat weekly
1) ##creator## the one who entered this event
1) (##access## which users are able to see it - different table?)
1) ##text## short text with a description of the event
1) (##category## an event belongs to - different table?)
===The calendar itself===
The events should be visible at
- the page they belong to
- the category the belong to
- the daily view tbt
- (the weekly view)
- (the monthly view)
- (the yearly view)
function ShowDay
function ShowDaybased Weeks
function ShowWeek
function ShowMonth
function ShowYear
==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


Revision [3412]

Edited on 2004-12-18 12:19:00 by NilsLindenberg [moved part of the page]
Additions:
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 [[http://wackowiki.com/NemoD WackoWiki]], [[http://www.wikipedia.de/Nemonand Wikipedia]] and http://www.openformats.org .
Thanx to Jason, I can test at niehle.info :-)
[[http://www.niehle.info/NewInstaller moved!]]
Deletions:
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 [[http://wackowiki.com/NemoD WackoWiki]], [[http://www.wikipedia.de/Nemonand 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... :-)
To Do:
- ''TEST''
- ''make sure the functions operate with defaults''
changes in ##wikka.php##:
added:
%%(php)
define ("CONFIG_FILE_NAME", "wikka.config.php");
//We can make it easier to change the name config-file when we define it as a constant//
function wikkasetup ($installaction="install.php")
{
include("setup/header.php");
if (file_exists("setup/".$installAction.".php")) include("setup/".$installAction.".php"); else print("<em>File "$installaction" not found. Please make shure that this file exists and try again.</em>");
include("setup/footer.php");
exit;
}
//This function calls the different routines in the /setup directory. Replaces the old code after ""//"" compare versions, start installer if necessary//
""//"" load config
$configfile = CONFIG_FILE_NAME;
//gets the name of the config-file from the constant.// ''To do: check if this is possible.''
if (!configfile)
setup ("install.php");
else
include($configfile);
//if we have no config-file, start the installer. if we have one, include it.//
if ($wakkaConfig["wakka_version"] != WAKKA_VERSION)
setup ("upgrade.php");
//if the versions are different, start the upgrade-action.//
removed:
%%(php)
$wakkaDefaultConfig = array(...)
//The default config is moved into the setup-directory//
if (!$configfile = GetEnv("WAKKA_CONFIG")) $configfile = "wikka.config.php";
if (file_exists($configfile)) include($configfile);
$wakkaConfigLocation = $configfile;
$wakkaConfig = array_merge($wakkaDefaultConfig, $wakkaConfig);
//replaced//
>>note that there are two files in the /setup necessary:
install.php - will get all the stuff for a fresh installation
upgrade.php - will get anything related to upgrades
these two files will replace defult.php and install.php>>
##install.php##
%%(php)
<?php
<script language="JavaScript">
function check()
var f = document.forms.form1;
var re;
re = new RegExp("^[A-Z][a-z]+[A-Z0-9][A-Za-z0-9]*$");
if (f.elements["config[admin_users]"].value.search(re)==-1)
{
alert("Admin name must be a WikiName. This means it must start with a capital letter, then have some lowercase letters, then have an uppercase letter.\nExamples: JohnSmith or JsnX");
return false;
}
if (f.elements["password"].value.length<5)
{
alert("Password is too short. It must be at least five (5) characters long.");
return false;
}
if (f.elements["password"].value!=f.elements["password2"].value)
{
alert("Passwords don't match.");
return false;
}
re = new RegExp("[a-z]+@[a-z]+\.[a-z]+", "i");
if (f.elements["config[admin_email]"].value.search(re)==-1)
{
alert("Email address appears incorrect.");
return false;
}
return true;
</script>
?>
<form action="<?php echo myLocation() ?>?installAction=install" name="form1" method="POST">
<table>
<tr><td></td><td><strong>Wikka Installation</strong></td></tr>
<tr><td></td><td>Since there is no existing Wikka configuration, this probably is a fresh Wikka install. You are about to install Wikka ".WAKKA_VERSION.". Please configure your Wikka site using the form below.</td></tr>
<tr><td></td><td><br />NOTE: This installer will try to write the configuration data to the file <tt>".CONFIG_FILE_NAME."</tt>, located in your Wikka directory. In order for this to work, you must make sure the web server has write access to that file! If you can't do this, you will have to edit the file manually (the installer will tell you how).<br /><br />See <a href="http://wikka.jsnx.com/WikkaInstallation" target="_blank">WikkaWiki:WikkaInstallation</a> for details.</td></tr>
<tr><td></td><td><br /><strong>Database Configuration</strong></td></tr>
<tr><td></td><td>The host your MySQL server is running on. Usually "localhost" (ie, the same machine your Wikka site is on).</td></tr>
<tr><td align="right" nowrap>MySQL host:</td><td><input type="text" size="50" name="config[mysql_host]" value="<?php echo $wakkaConfig["mysql_host"] ?>" /></td></tr>
<tr><td></td><td>The MySQL database Wikka should use. This database needs to exist already before you continue!</td></tr>
<tr><td align="right" nowrap>MySQL database:</td><td><input type="text" size="50" name="config[mysql_database]" value="<?php echo $wakkaConfig["mysql_database"] ?>" /></td></tr>
<tr><td></td><td>Name and password of the MySQL user used to connect to your database.</td></tr>
<tr><td align="right" nowrap>MySQL user name:</td><td><input type="text" size="50" name="config[mysql_user]" value="<?php echo $wakkaConfig["mysql_user"] ?>" /></td></tr>
<tr><td align="right" nowrap>MySQL password:</td><td><input type="password" size="50" name="config[mysql_password]" value="<?php echo $wakkaConfig["mysql_password"] ?>" /></td></tr>
<tr><td></td><td>Prefix of all tables used by Wikka. This allows you to run multiple Wikka installations using the same MySQL database by configuring them to use different table prefixes.</td></tr>
<tr><td align="right" nowrap>Table prefix:</td><td><input type="text" size="50" name="config[table_prefix]" value="<?php echo $wakkaConfig["table_prefix"] ?>" /></td></tr>
<tr><td></td><td><br /><strong>Wikka Site Configuration</strong></td></tr>
<tr><td></td><td>The name of your Wikka site. It usually is a WikiName and looks SomethingLikeThis.</td></tr>
<tr><td align="right" nowrap>Your Wikka's name:</td><td><input type="text" size="50" name="config[wakka_name]" value="<?php echo $wakkaConfig["wakka_name"] ?>" /></td></tr>
<tr><td></td><td>Your Wikka site's home page. Should be a WikiName.</td></tr>
<tr><td align="right" nowrap>Home page:</td><td><input type="text" size="50" name="config[root_page]" value="<?php echo $wakkaConfig["root_page"] ?>" /></td></tr>
<tr><td></td><td>META Keywords/Description that get inserted into the HTML headers.</td></tr>
<tr><td align="right" nowrap>Meta Keywords:</td><td><input type="text" size="50" name="config[meta_keywords]" value="<?php echo $wakkaConfig["meta_keywords"] ?>" /></td></tr>
<tr><td align="right" nowrap>Meta Description:</td><td><input type="text" size="50" name="config[meta_description]" value="<?php echo $wakkaConfig["meta_description"] ?>" /></td></tr>
<tr><td></td><td><br /><strong>Administrative account configuration</strong></td></tr>
<tr><td></td><td>Enter admin username. Should be a WikiName.</td></tr>
<tr><td align="right" nowrap>Admin name:</td><td><input type="text" size="50" name="config[admin_users]" value="<?php echo $wakkaConfig["admin_users"] ?>" /></td></tr>
<tr><td></td><td>Choose a password for administrator (5+ chars)</td></tr>
<tr><td align="right" nowrap>Enter password:</td><td><input type="password" size="50" name="password" value="" /></td></tr>
<tr><td align="right" nowrap>Repeat password:</td><td><input type="password" size="50" name="password2" value="" /></td></tr>
<tr><td></td><td>Administrator email.</td></tr>
<tr><td align="right" nowrap>Email:</td><td><input type="text" size="50" name="config[admin_email]" value="<?php echo $wakkaConfig["admin_email"] ?>" /></td></tr>
<tr><td></td><td><br /><strong>Wikka URL Configuration</strong><?php echo $wakkaConfig["wakka_version"] ? "" : "<br />Since this is a new installation, the installer tried to guess the proper values. Change them only if you know what you're doing!" ?></td></tr>
<tr><td></td><td>Your Wikka site's base URL. Page names get appended to it, so it should include the "?wakka=" parameter stuff if the funky URL rewriting stuff doesn't work on your server.</td></tr>
<tr><td align="right" nowrap>Base URL:</td><td><input type="text" size="50" name="config[base_url]" value="<?php echo $wakkaConfig["base_url"] ?>" /></td></tr>
<tr><td></td><td>Rewrite mode should be enabled if you are using Wikka with URL rewriting.</td></tr>
<tr><td align="right" nowrap>Rewrite Mode:</td><td><input type="hidden" name="config[rewrite_mode]" value="0"><input type="checkbox" name="config[rewrite_mode]" value="1" <?php echo $wakkaConfig["rewrite_mode"] ? "checked" : "" ?> /> Enabled</td></tr>
<tr><td></td><td><input type="submit" value="Continue" onclick="return check();" /></td></tr>
</table>
</form>
strong>Testing Configuration</strong><br />
<?php
test("Testing MySQL connection settings...", $dblink = @mysql_connect($config["mysql_host"], $config["mysql_user"], $config["mysql_password"]));
test("Looking for database...", @mysql_select_db($config["mysql_database"], $dblink), "The database you configured was not found. Remember, it needs to exist before you can install Wikka!\n\nPress the Back button and reconfigure the settings.");
<br />
print("<strong>Installing Stuff</strong><br />\n");
test("Creating page table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."pages (".
"id int(10) unsigned NOT NULL auto_increment,".
"tag varchar(75) NOT NULL default '',".
"time datetime NOT NULL default '0000-00-00 00:00:00',".
"body mediumtext NOT NULL,".
"owner varchar(75) NOT NULL default '',".
"user varchar(75) NOT NULL default '',".
"latest enum('Y','N') NOT NULL default 'N',".
"note varchar(100) NOT NULL default '',".
"handler varchar(30) NOT NULL default 'page',".
"PRIMARY KEY (id),".
"KEY idx_tag (tag),".
"FULLTEXT KEY body (body),".
"KEY idx_time (time),".
"KEY idx_latest (latest)".
") TYPE=MyISAM;", $dblink), "Already exists?", 0);
test("Creating ACL table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."acls (".
"page_tag varchar(75) NOT NULL default '',".
"read_acl text NOT NULL,".
"write_acl text NOT NULL,".
"comment_acl text NOT NULL,".
"PRIMARY KEY (page_tag)".
") TYPE=MyISAM", $dblink), "Already exists?", 0);
test("Creating link tracking table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."links (".
"from_tag varchar(75) NOT NULL default '',".
"to_tag varchar(75) NOT NULL default '',".
"UNIQUE KEY from_tag (from_tag,to_tag),".
"KEY idx_from (from_tag),".
"KEY idx_to (to_tag)".
") TYPE=MyISAM", $dblink), "Already exists?", 0);
test("Creating referrer table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."referrers (".
"page_tag varchar(75) NOT NULL default '',".
"referrer varchar(150) NOT NULL default '',".
"time datetime NOT NULL default '0000-00-00 00:00:00',".
"KEY idx_page_tag (page_tag),".
"KEY idx_time (time)".
") TYPE=MyISAM", $dblink), "Already exists?", 0);
test("Creating referrer blacklist table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."referrer_blacklist (".
"spammer varchar(150) NOT NULL default '',".
"KEY idx_spammer (spammer)".
") TYPE=MyISAM", $dblink), "Already exists?", 0);
test("Creating user table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."users (".
"name varchar(75) NOT NULL default '',".
"password varchar(32) NOT NULL default '',".
"email varchar(50) NOT NULL default '',".
"revisioncount int(10) unsigned NOT NULL default '20',".
"changescount int(10) unsigned NOT NULL default '50',".
"doubleclickedit enum('Y','N') NOT NULL default 'Y',".
"signuptime datetime NOT NULL default '0000-00-00 00:00:00',".
"show_comments enum('Y','N') NOT NULL default 'N',".
"PRIMARY KEY (name),".
"KEY idx_signuptime (signuptime)".
") TYPE=MyISAM", $dblink), "Already exists?", 0);
test("Creating comment table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."comments (".
"id int(10) unsigned NOT NULL auto_increment,".
"page_tag varchar(75) NOT NULL default '',".
"time datetime NOT NULL default '0000-00-00 00:00:00',".
"comment text NOT NULL,".
"user varchar(75) NOT NULL default '',".
"PRIMARY KEY (id),".
"KEY idx_page_tag (page_tag),".
"KEY idx_time (time)".
") TYPE=MyISAM;", $dblink), "Already exists?", 0);
test("Adding admin user...",
@mysql_query("insert into ".$config["table_prefix"]."users set name = '".$config["admin_users"]."', password = md5('".mysql_real_escape_string($_POST["password"])."'), email = '".$config["admin_email"]."', signuptime = now()", $dblink), "Hmm!", 0);
test("Adding some pages...", 1);
<... enter the pages here>
?>
''To do: much!''


Revision [3017]

Edited on 2004-12-09 15:17:18 by NilsLindenberg [removed part of the code]
Additions:
<... enter the pages here>
Deletions:
mysql_query("insert into ".$config["table_prefix"]."pages set tag = '".$config["root_page"]."', body = '".mysql_real_escape_string("Welcome to your Wikka site! Click on the \"Edit page\" link at the bottom to get started.\n\nAlso don't forget to visit [[Wikka:HomePage WikkaWiki]]!\n\nUseful pages: FormattingRules, OrphanedPages, WantedPages, TextSearch.")."', user = '".$config["admin_users"]."', owner = '".$config["admin_users"]."', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'RecentChanges', body = '{{RecentChanges}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'RecentlyCommented', body = '{{RecentlyCommented}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'UserSettings', body = '{{UserSettings}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'PageIndex', body = '{{PageIndex}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'WantedPages', body = '{{WantedPages}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'OrphanedPages', body = '===Orphaned Pages===\n\nThe following list shows those pages held in the Wiki that are not linked to on any other pages.\n\n{{OrphanedPages}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'TextSearch', body = '{{TextSearch}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'TextSearchExpanded', body = '{{textsearchexpanded}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'MyPages', body = '{{MyPages}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'MyChanges', body = '{{MyChanges}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'InterWiki', body = '{{interwikilist}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'PasswordForgotten', body = '{{emailpassword}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'WikiCategory', body = '===This wiki is using a very flexible but simple categorizing system to keep everything properly organized...);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'CategoryWiki', body = '===Wiki Related Category===\nThis Category will contain links to pages talking about Wikis and Wikis specific topics. When creating such pages, be sure to include CategoryWiki at the bottom of each page, so that page shows listed.\n\n\n----\n\n{{Category col=\"3\"}}\n\n\n----\n[[CategoryCategory List of all categories]]', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'CategoryCategory', body = '===List of All Categories===\nBelow is the list of all Categories existing on this Wiki, granted that users did things right when they created their pages or new Categories. See WikiCategory for how the system works.\n\n----\n\n{{Category}}', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'FormattingRules', body = '...', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'HighScores', body = '**Rankings based on quantity of OwnedPages*:**\n {{HighScores}}{{nocomments}}*//not quality.//\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'OwnedPages', body = '{{ownedpages}}{{nocomments}}These numbers merely reflect how many pages you have created, not how much content you have contributed or the quality of your contributions. To see how you rank with other members, you may be interested in checking out the HighScores. \n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'SandBox', body = 'Test your formatting skills here.\n\n\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);


Revision [2946]

Edited on 2004-12-08 00:30:56 by JavaWoman [marking code blocks, adding language to code block for better readability - does it actually show up]
Additions:
%%(php)
%%(php)
%%(php)


Revision [2933]

Edited on 2004-12-07 19:39:48 by NilsLindenberg [first version of code for install.php]
Additions:
added:
//We can make it easier to change the name config-file when we define it as a constant//
//This function calls the different routines in the /setup directory. Replaces the old code after ""//"" compare versions, start installer if necessary//
//gets the name of the config-file from the constant.// ''To do: check if this is possible.''
//if we have no config-file, start the installer. if we have one, include it.//
//if the versions are different, start the upgrade-action.//
removed:
//The default config is moved into the setup-directory//
//replaced//
>>note that there are two files in the /setup necessary:
these two files will replace defult.php and install.php>>
##install.php##
<?php
<script language="JavaScript">
function check()
var f = document.forms.form1;
var re;
re = new RegExp("^[A-Z][a-z]+[A-Z0-9][A-Za-z0-9]*$");
if (f.elements["config[admin_users]"].value.search(re)==-1)
{
alert("Admin name must be a WikiName. This means it must start with a capital letter, then have some lowercase letters, then have an uppercase letter.\nExamples: JohnSmith or JsnX");
return false;
}
if (f.elements["password"].value.length<5)
{
alert("Password is too short. It must be at least five (5) characters long.");
return false;
}
if (f.elements["password"].value!=f.elements["password2"].value)
{
alert("Passwords don't match.");
return false;
}
re = new RegExp("[a-z]+@[a-z]+\.[a-z]+", "i");
if (f.elements["config[admin_email]"].value.search(re)==-1)
{
alert("Email address appears incorrect.");
return false;
}
return true;
</script>
?>
<form action="<?php echo myLocation() ?>?installAction=install" name="form1" method="POST">
<table>
<tr><td></td><td><strong>Wikka Installation</strong></td></tr>
<tr><td></td><td>Since there is no existing Wikka configuration, this probably is a fresh Wikka install. You are about to install Wikka ".WAKKA_VERSION.". Please configure your Wikka site using the form below.</td></tr>
<tr><td></td><td><br />NOTE: This installer will try to write the configuration data to the file <tt>".CONFIG_FILE_NAME."</tt>, located in your Wikka directory. In order for this to work, you must make sure the web server has write access to that file! If you can't do this, you will have to edit the file manually (the installer will tell you how).<br /><br />See <a href="http://wikka.jsnx.com/WikkaInstallation" target="_blank">WikkaWiki:WikkaInstallation</a> for details.</td></tr>
<tr><td></td><td><br /><strong>Database Configuration</strong></td></tr>
<tr><td></td><td>The host your MySQL server is running on. Usually "localhost" (ie, the same machine your Wikka site is on).</td></tr>
<tr><td align="right" nowrap>MySQL host:</td><td><input type="text" size="50" name="config[mysql_host]" value="<?php echo $wakkaConfig["mysql_host"] ?>" /></td></tr>
<tr><td></td><td>The MySQL database Wikka should use. This database needs to exist already before you continue!</td></tr>
<tr><td align="right" nowrap>MySQL database:</td><td><input type="text" size="50" name="config[mysql_database]" value="<?php echo $wakkaConfig["mysql_database"] ?>" /></td></tr>
<tr><td></td><td>Name and password of the MySQL user used to connect to your database.</td></tr>
<tr><td align="right" nowrap>MySQL user name:</td><td><input type="text" size="50" name="config[mysql_user]" value="<?php echo $wakkaConfig["mysql_user"] ?>" /></td></tr>
<tr><td align="right" nowrap>MySQL password:</td><td><input type="password" size="50" name="config[mysql_password]" value="<?php echo $wakkaConfig["mysql_password"] ?>" /></td></tr>
<tr><td></td><td>Prefix of all tables used by Wikka. This allows you to run multiple Wikka installations using the same MySQL database by configuring them to use different table prefixes.</td></tr>
<tr><td align="right" nowrap>Table prefix:</td><td><input type="text" size="50" name="config[table_prefix]" value="<?php echo $wakkaConfig["table_prefix"] ?>" /></td></tr>
<tr><td></td><td><br /><strong>Wikka Site Configuration</strong></td></tr>
<tr><td></td><td>The name of your Wikka site. It usually is a WikiName and looks SomethingLikeThis.</td></tr>
<tr><td align="right" nowrap>Your Wikka's name:</td><td><input type="text" size="50" name="config[wakka_name]" value="<?php echo $wakkaConfig["wakka_name"] ?>" /></td></tr>
<tr><td></td><td>Your Wikka site's home page. Should be a WikiName.</td></tr>
<tr><td align="right" nowrap>Home page:</td><td><input type="text" size="50" name="config[root_page]" value="<?php echo $wakkaConfig["root_page"] ?>" /></td></tr>
<tr><td></td><td>META Keywords/Description that get inserted into the HTML headers.</td></tr>
<tr><td align="right" nowrap>Meta Keywords:</td><td><input type="text" size="50" name="config[meta_keywords]" value="<?php echo $wakkaConfig["meta_keywords"] ?>" /></td></tr>
<tr><td align="right" nowrap>Meta Description:</td><td><input type="text" size="50" name="config[meta_description]" value="<?php echo $wakkaConfig["meta_description"] ?>" /></td></tr>
<tr><td></td><td><br /><strong>Administrative account configuration</strong></td></tr>
<tr><td></td><td>Enter admin username. Should be a WikiName.</td></tr>
<tr><td align="right" nowrap>Admin name:</td><td><input type="text" size="50" name="config[admin_users]" value="<?php echo $wakkaConfig["admin_users"] ?>" /></td></tr>
<tr><td></td><td>Choose a password for administrator (5+ chars)</td></tr>
<tr><td align="right" nowrap>Enter password:</td><td><input type="password" size="50" name="password" value="" /></td></tr>
<tr><td align="right" nowrap>Repeat password:</td><td><input type="password" size="50" name="password2" value="" /></td></tr>
<tr><td></td><td>Administrator email.</td></tr>
<tr><td align="right" nowrap>Email:</td><td><input type="text" size="50" name="config[admin_email]" value="<?php echo $wakkaConfig["admin_email"] ?>" /></td></tr>
<tr><td></td><td><br /><strong>Wikka URL Configuration</strong><?php echo $wakkaConfig["wakka_version"] ? "" : "<br />Since this is a new installation, the installer tried to guess the proper values. Change them only if you know what you're doing!" ?></td></tr>
<tr><td></td><td>Your Wikka site's base URL. Page names get appended to it, so it should include the "?wakka=" parameter stuff if the funky URL rewriting stuff doesn't work on your server.</td></tr>
<tr><td align="right" nowrap>Base URL:</td><td><input type="text" size="50" name="config[base_url]" value="<?php echo $wakkaConfig["base_url"] ?>" /></td></tr>
<tr><td></td><td>Rewrite mode should be enabled if you are using Wikka with URL rewriting.</td></tr>
<tr><td align="right" nowrap>Rewrite Mode:</td><td><input type="hidden" name="config[rewrite_mode]" value="0"><input type="checkbox" name="config[rewrite_mode]" value="1" <?php echo $wakkaConfig["rewrite_mode"] ? "checked" : "" ?> /> Enabled</td></tr>
<tr><td></td><td><input type="submit" value="Continue" onclick="return check();" /></td></tr>
</table>
</form>
strong>Testing Configuration</strong><br />
<?php
test("Testing MySQL connection settings...", $dblink = @mysql_connect($config["mysql_host"], $config["mysql_user"], $config["mysql_password"]));
test("Looking for database...", @mysql_select_db($config["mysql_database"], $dblink), "The database you configured was not found. Remember, it needs to exist before you can install Wikka!\n\nPress the Back button and reconfigure the settings.");
<br />
print("<strong>Installing Stuff</strong><br />\n");
test("Creating page table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."pages (".
"id int(10) unsigned NOT NULL auto_increment,".
"tag varchar(75) NOT NULL default '',".
"time datetime NOT NULL default '0000-00-00 00:00:00',".
"body mediumtext NOT NULL,".
"owner varchar(75) NOT NULL default '',".
"user varchar(75) NOT NULL default '',".
"latest enum('Y','N') NOT NULL default 'N',".
"note varchar(100) NOT NULL default '',".
"handler varchar(30) NOT NULL default 'page',".
"PRIMARY KEY (id),".
"KEY idx_tag (tag),".
"FULLTEXT KEY body (body),".
"KEY idx_time (time),".
"KEY idx_latest (latest)".
") TYPE=MyISAM;", $dblink), "Already exists?", 0);
test("Creating ACL table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."acls (".
"page_tag varchar(75) NOT NULL default '',".
"read_acl text NOT NULL,".
"write_acl text NOT NULL,".
"comment_acl text NOT NULL,".
"PRIMARY KEY (page_tag)".
") TYPE=MyISAM", $dblink), "Already exists?", 0);
test("Creating link tracking table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."links (".
"from_tag varchar(75) NOT NULL default '',".
"to_tag varchar(75) NOT NULL default '',".
"UNIQUE KEY from_tag (from_tag,to_tag),".
"KEY idx_from (from_tag),".
"KEY idx_to (to_tag)".
") TYPE=MyISAM", $dblink), "Already exists?", 0);
test("Creating referrer table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."referrers (".
"page_tag varchar(75) NOT NULL default '',".
"referrer varchar(150) NOT NULL default '',".
"time datetime NOT NULL default '0000-00-00 00:00:00',".
"KEY idx_page_tag (page_tag),".
"KEY idx_time (time)".
") TYPE=MyISAM", $dblink), "Already exists?", 0);
test("Creating referrer blacklist table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."referrer_blacklist (".
"spammer varchar(150) NOT NULL default '',".
"KEY idx_spammer (spammer)".
") TYPE=MyISAM", $dblink), "Already exists?", 0);
test("Creating user table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."users (".
"name varchar(75) NOT NULL default '',".
"password varchar(32) NOT NULL default '',".
"email varchar(50) NOT NULL default '',".
"revisioncount int(10) unsigned NOT NULL default '20',".
"changescount int(10) unsigned NOT NULL default '50',".
"doubleclickedit enum('Y','N') NOT NULL default 'Y',".
"signuptime datetime NOT NULL default '0000-00-00 00:00:00',".
"show_comments enum('Y','N') NOT NULL default 'N',".
"PRIMARY KEY (name),".
"KEY idx_signuptime (signuptime)".
") TYPE=MyISAM", $dblink), "Already exists?", 0);
test("Creating comment table...",
@mysql_query(
"CREATE TABLE ".$config["table_prefix"]."comments (".
"id int(10) unsigned NOT NULL auto_increment,".
"page_tag varchar(75) NOT NULL default '',".
"time datetime NOT NULL default '0000-00-00 00:00:00',".
"comment text NOT NULL,".
"user varchar(75) NOT NULL default '',".
"PRIMARY KEY (id),".
"KEY idx_page_tag (page_tag),".
"KEY idx_time (time)".
") TYPE=MyISAM;", $dblink), "Already exists?", 0);
test("Adding admin user...",
@mysql_query("insert into ".$config["table_prefix"]."users set name = '".$config["admin_users"]."', password = md5('".mysql_real_escape_string($_POST["password"])."'), email = '".$config["admin_email"]."', signuptime = now()", $dblink), "Hmm!", 0);
test("Adding some pages...", 1);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = '".$config["root_page"]."', body = '".mysql_real_escape_string("Welcome to your Wikka site! Click on the \"Edit page\" link at the bottom to get started.\n\nAlso don't forget to visit [[Wikka:HomePage WikkaWiki]]!\n\nUseful pages: FormattingRules, OrphanedPages, WantedPages, TextSearch.")."', user = '".$config["admin_users"]."', owner = '".$config["admin_users"]."', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'RecentChanges', body = '{{RecentChanges}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'RecentlyCommented', body = '{{RecentlyCommented}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'UserSettings', body = '{{UserSettings}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'PageIndex', body = '{{PageIndex}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'WantedPages', body = '{{WantedPages}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'OrphanedPages', body = '===Orphaned Pages===\n\nThe following list shows those pages held in the Wiki that are not linked to on any other pages.\n\n{{OrphanedPages}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'TextSearch', body = '{{TextSearch}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'TextSearchExpanded', body = '{{textsearchexpanded}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'MyPages', body = '{{MyPages}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'MyChanges', body = '{{MyChanges}}{{nocomments}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'InterWiki', body = '{{interwikilist}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'PasswordForgotten', body = '{{emailpassword}}\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'WikiCategory', body = '===This wiki is using a very flexible but simple categorizing system to keep everything properly organized...);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'CategoryWiki', body = '===Wiki Related Category===\nThis Category will contain links to pages talking about Wikis and Wikis specific topics. When creating such pages, be sure to include CategoryWiki at the bottom of each page, so that page shows listed.\n\n\n----\n\n{{Category col=\"3\"}}\n\n\n----\n[[CategoryCategory List of all categories]]', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'CategoryCategory', body = '===List of All Categories===\nBelow is the list of all Categories existing on this Wiki, granted that users did things right when they created their pages or new Categories. See WikiCategory for how the system works.\n\n----\n\n{{Category}}', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'FormattingRules', body = '...', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'HighScores', body = '**Rankings based on quantity of OwnedPages*:**\n {{HighScores}}{{nocomments}}*//not quality.//\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'OwnedPages', body = '{{ownedpages}}{{nocomments}}These numbers merely reflect how many pages you have created, not how much content you have contributed or the quality of your contributions. To see how you rank with other members, you may be interested in checking out the HighScores. \n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
mysql_query("insert into ".$config["table_prefix"]."pages set tag = 'SandBox', body = 'Test your formatting skills here.\n\n\n\n\n----\nCategoryWiki', user = 'WikkaInstaller', time = now(), latest = 'Y'", $dblink);
?>
''To do: much!''
Deletions:
We can make it easier to change the name config-file when we define it as a constant
new
This function calls the different routines in the /setup directory. Replaces the old code after ""//"" compare versions, start installer if necessary
The default config is moved into the setup-directory
gets the name of the config-file from the constant. ''To do: check if this is possible.''
if (file_exists("wakka.config.php")) rename("wakka.config.php", "wikka.config.php");
the following lines are
replaced through the following code:
if we have no config-file, start the installer. if we have one, include it.
if the versions are different, start the upgrade-action.
note that there are two files in the /setup necessary:
these two files will replace defult.php and install.php


Revision [2932]

Edited on 2004-12-07 19:14:58 by NilsLindenberg [layout + lastedit]
Additions:
{{lastedit}}
""//"" load config
Deletions:
// load config


Revision [2931]

Edited on 2004-12-07 18:56:51 by NilsLindenberg [added code for wikka.php]
Additions:
To Do:
- ''TEST''
- ''make sure the functions operate with defaults''
changes in ##wikka.php##:
define ("CONFIG_FILE_NAME", "wikka.config.php");
We can make it easier to change the name config-file when we define it as a constant
new
function wikkasetup ($installaction="install.php")
{
include("setup/header.php");
if (file_exists("setup/".$installAction.".php")) include("setup/".$installAction.".php"); else print("<em>File "$installaction" not found. Please make shure that this file exists and try again.</em>");
}
This function calls the different routines in the /setup directory. Replaces the old code after ""//"" compare versions, start installer if necessary
$wakkaDefaultConfig = array(...)
The default config is moved into the setup-directory
$configfile = CONFIG_FILE_NAME;
gets the name of the config-file from the constant. ''To do: check if this is possible.''
the following lines are
replaced through the following code:
if (!configfile)
setup ("install.php");
include($configfile);
if we have no config-file, start the installer. if we have one, include it.
if ($wakkaConfig["wakka_version"] != WAKKA_VERSION)
setup ("upgrade.php");
if the versions are different, start the upgrade-action.
note that there are two files in the /setup necessary:
install.php - will get all the stuff for a fresh installation
upgrade.php - will get anything related to upgrades
these two files will replace defult.php and install.php
''read all the rtfs''
''look what oother free php e-mail programms do and who''
''look up php-sendmail''
''whait till Javawomen has finished WikkaAndEmail and see what could be used :-)''
Deletions:
(trying to get the code used in the moment together)
wikka.php
// default configuration values
$wakkaDefaultConfig = array(...);
''the default config is actually none, couse it is impossible to run Wikka with it (no information about the database-connection). So why don't rename it InstallDefaultConfig and put it in the setup/default.php?''
''ok, no problems.''
one comment on php.net: ''The function 'getenv' does not work if your Server API is ASAPI (IIS).''
we should have a constant with the name of the config.file, like
define("CONFIG_FILE_NAME", "wikka.config.php");
//if there is no user-config-file, we start the installer//
if (file_exists(CONFIG_FILE_NAME)
{
include(CONFIG_FILE_NAME);
$install = FALSE;
}
else { $install = TRUE;}
we don't need that anymore.
// compare versions, start installer if necessary
if ($wakkaConfig["wakka_version"] != WAKKA_VERSION || $install == TRUE))
// start installer
if (!$installAction = trim($_REQUEST["installAction"])) $installAction = "default";
include("setup/header.php");
if (file_exists("setup/".$installAction.".php")) include("setup/".$installAction.".php"); else print("<em>Invalid action</em>");
''The error-message should better print "Installer not found" ''
''The question is wehre to insert the array_merge?''
setup.php
// merge existing configuration with new one
$config = array_merge($wakkaConfig, $config);
In the next step, the installer will try to write the updated configuration file, <tt><?php echo $wakkaConfigLocation ?></tt>.
Please make sure the web server has write access to the file, or you will have to edit it manually.
Once again, see <a href="http://www.wakkawiki.com/WakkaInstallation" target="_blank">WakkaWiki:WakkaInstallation</a> for details.
</p>
<form action="<?php echo myLocation(); ?>?installAction=writeconfig" method="POST">
<input type="hidden" name="config" value="<?php echo htmlspecialchars(serialize($config)) ?>" />
<input type="submit" value="Continue" />
</form>
writeconfig.php
// fetch config
$config = $config2 = unserialize($_POST["config"]);
// merge existing configuration with new one
$config = array_merge($wakkaConfig, $config);
// remove config values for whatever reason
unset($config["allow_doublequote_html"]);
// set version to current version, yay!
$config["wakka_version"] = WAKKA_VERSION;
// convert config array into PHP code
$configCode = "<?php\n// wikka.config.php written at ".strftime("%c")."\n// do not change wikka_version manually!\n\n\$wakkaConfig = array(\n";
foreach ($config as $k => $v)
$entries[] = "\t\"".$k."\" => \"".$v."\"";
$configCode .= implode(",\n", $entries).");\n?>";
// try to write configuration file
print("<strong>Writing configuration</strong><br />\n");
test("Writing configuration file <tt>".$wakkaConfigLocation."</tt>...", $fp = @fopen($wakkaConfigLocation, "w"), "", 0);
if ($fp)
fwrite($fp, $configCode);
// write
fclose($fp);

print("<p>That's all! You can now <a href=\"".$config["base_url"]."\">return to your Wikka site</a>. However, you are advised to remove write access to <tt>wikka.config.php</tt> again now that it's been written. Leaving the file writable can be a security risk!</p>");
// complain
print("<p><span class=\"failed\">WARNING:</span> The configuration file <tt>".$wakkaConfigLocation."</tt> could not be written. You will need to give your web server temporary write access to either your wakka directory, or a blank file called <tt>wikka.config.php</tt> (<tt>touch wikka.config.php ; chmod 666 wikka.config.php</tt>; don't forget to remove write access again later, ie <tt>chmod 644 wikka.config.php</tt>). If, for any reason, you can't do this, you'll have to copy the text below into a new file and save/upload it as <tt>wikka.config.php</tt> into the Wikka directory. Once you've done this, your Wikka site should work. If not, please visit <a href=\"http://www.wakkawiki.com/WakkaInstallation\">WakkaWiki:WakkaInstallation</a>.</p>\n");
?>
<form action="<?php echo myLocation() ?>?installAction=writeconfig" method="POST">
<input type="hidden" name="config" value="<?php echo htmlspecialchars(serialize($config2)) ?>" />
<input type="submit" value="Try again" />
</form>
<?php
print("<div style=\"background-color: #EEEEEE; padding: 10px 10px;\">\n<xmp>".$configCode."</xmp>\n</div>\n");
define("WAKKA_VERSION", "1.1.5.3");
++read all the rtfs++
++look what oother free php e-mail programms do and who++
++look up php-sendmail++
++whait till Javawomen has finished WikkaAndEmail and see what could be used :-)++


Revision [2805]

Edited on 2004-12-03 17:40:51 by NilsLindenberg [layout, 2nd try ;-)]
Additions:
''The error-message should better print "Installer not found" ''
Deletions:
''The error-message should better print "Installer not found''''


Revision [2804]

Edited on 2004-12-03 17:20:20 by NilsLindenberg [some thoughts]
Additions:
''the default config is actually none, couse it is impossible to run Wikka with it (no information about the database-connection). So why don't rename it InstallDefaultConfig and put it in the setup/default.php?''
''ok, no problems.''
one comment on php.net: ''The function 'getenv' does not work if your Server API is ASAPI (IIS).''
we should have a constant with the name of the config.file, like
define("CONFIG_FILE_NAME", "wikka.config.php");
//if there is no user-config-file, we start the installer//
if (file_exists(CONFIG_FILE_NAME)
{
include(CONFIG_FILE_NAME);
$install = FALSE;
}
else { $install = TRUE;}
we don't need that anymore.
if ($wakkaConfig["wakka_version"] != WAKKA_VERSION || $install == TRUE))
''The question is wehre to insert the array_merge?''
Deletions:
''the default config is actually none, couse it is impossible to run Wikka with it (no information about the database-connection). So why don't rename it InstallDefaultConfig and put it in the setup directory?''
''ok, no problems, could remain the same.''
''for what reason $wakkaConfigLocation?'' a constant would be better''
''1st time array_merge''
if ($wakkaConfig["wakka_version"] != WAKKA_VERSION)


Revision [2800]

Edited on 2004-12-03 16:46:38 by NilsLindenberg [layout]
Additions:
''The error-message should better print "Installer not found''''
Deletions:
''The error-message should better print "Installer not found''


Revision [2799]

Edited on 2004-12-03 16:45:59 by NilsLindenberg [started looking at the config]
Additions:
''the default config is actually none, couse it is impossible to run Wikka with it (no information about the database-connection). So why don't rename it InstallDefaultConfig and put it in the setup directory?''
''ok, no problems, could remain the same.''
''for what reason $wakkaConfigLocation?'' a constant would be better''
Deletions:
''for what reason $wakkaConfigLocation?''


Revision [2798]

Edited on 2004-12-03 16:40:37 by NilsLindenberg [collecting information about the config]
Additions:
====Handling the Config====
(trying to get the code used in the moment together)
wikka.php
// default configuration values
$wakkaDefaultConfig = array(...);
// load config
if (file_exists("wakka.config.php")) rename("wakka.config.php", "wikka.config.php");
if (!$configfile = GetEnv("WAKKA_CONFIG")) $configfile = "wikka.config.php";
if (file_exists($configfile)) include($configfile);
$wakkaConfigLocation = $configfile;
$wakkaConfig = array_merge($wakkaDefaultConfig, $wakkaConfig);
''for what reason $wakkaConfigLocation?''
''1st time array_merge''
// compare versions, start installer if necessary
if ($wakkaConfig["wakka_version"] != WAKKA_VERSION)
// start installer
if (!$installAction = trim($_REQUEST["installAction"])) $installAction = "default";
include("setup/header.php");
if (file_exists("setup/".$installAction.".php")) include("setup/".$installAction.".php"); else print("<em>Invalid action</em>");
include("setup/footer.php");
exit;
''The error-message should better print "Installer not found''
setup.php
// merge existing configuration with new one
$config = array_merge($wakkaConfig, $config);
In the next step, the installer will try to write the updated configuration file, <tt><?php echo $wakkaConfigLocation ?></tt>.
Please make sure the web server has write access to the file, or you will have to edit it manually.
Once again, see <a href="http://www.wakkawiki.com/WakkaInstallation" target="_blank">WakkaWiki:WakkaInstallation</a> for details.
</p>
<form action="<?php echo myLocation(); ?>?installAction=writeconfig" method="POST">
<input type="hidden" name="config" value="<?php echo htmlspecialchars(serialize($config)) ?>" />
<input type="submit" value="Continue" />
</form>
writeconfig.php
// fetch config
$config = $config2 = unserialize($_POST["config"]);
// merge existing configuration with new one
$config = array_merge($wakkaConfig, $config);
// remove config values for whatever reason
unset($config["allow_doublequote_html"]);
// set version to current version, yay!
$config["wakka_version"] = WAKKA_VERSION;
// convert config array into PHP code
$configCode = "<?php\n// wikka.config.php written at ".strftime("%c")."\n// do not change wikka_version manually!\n\n\$wakkaConfig = array(\n";
foreach ($config as $k => $v)
$entries[] = "\t\"".$k."\" => \"".$v."\"";
$configCode .= implode(",\n", $entries).");\n?>";
// try to write configuration file
print("<strong>Writing configuration</strong><br />\n");
test("Writing configuration file <tt>".$wakkaConfigLocation."</tt>...", $fp = @fopen($wakkaConfigLocation, "w"), "", 0);
if ($fp)
fwrite($fp, $configCode);
// write
fclose($fp);

print("<p>That's all! You can now <a href=\"".$config["base_url"]."\">return to your Wikka site</a>. However, you are advised to remove write access to <tt>wikka.config.php</tt> again now that it's been written. Leaving the file writable can be a security risk!</p>");
else
// complain
print("<p><span class=\"failed\">WARNING:</span> The configuration file <tt>".$wakkaConfigLocation."</tt> could not be written. You will need to give your web server temporary write access to either your wakka directory, or a blank file called <tt>wikka.config.php</tt> (<tt>touch wikka.config.php ; chmod 666 wikka.config.php</tt>; don't forget to remove write access again later, ie <tt>chmod 644 wikka.config.php</tt>). If, for any reason, you can't do this, you'll have to copy the text below into a new file and save/upload it as <tt>wikka.config.php</tt> into the Wikka directory. Once you've done this, your Wikka site should work. If not, please visit <a href=\"http://www.wakkawiki.com/WakkaInstallation\">WakkaWiki:WakkaInstallation</a>.</p>\n");
?>
<form action="<?php echo myLocation() ?>?installAction=writeconfig" method="POST">
<input type="hidden" name="config" value="<?php echo htmlspecialchars(serialize($config2)) ?>" />
<input type="submit" value="Try again" />
</form>
<?php
print("<div style=\"background-color: #EEEEEE; padding: 10px 10px;\">\n<xmp>".$configCode."</xmp>\n</div>\n");
define("WAKKA_VERSION", "1.1.5.3");
Deletions:
====Small Ideas====
1. an action to get a list of php files
''Nils, a similar proposal (restricted to the actions folder) has be made [[DescribeActions here]]
-- DarTar''
I'm getting old, after re-reading I know that I missunderstood JW.
--NilsLindenberg


Revision [2467]

Edited on 2004-11-26 00:23:30 by JavaWoman [minor edit - better layout]
Additions:
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====
Deletions:
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====


Revision [2340]

Edited on 2004-11-20 12:50:04 by NilsLindenberg [minor edit - better layout]
Additions:
I'm getting old, after re-reading I know that I missunderstood JW.
--NilsLindenberg
Deletions:
function GetPhpFiles (/*parameter would be the directory*/) {}
//it has at first to check if the directory exists
//then load every file in the directory into an array
//returns a failure if no read-access to the directory
//an array with [x][0] = name [x][1] = ending
//another array which only contains the files with the ending "php"
//returns that array


Revision [2272]

Edited on 2004-11-17 14:50:21 by JavaWoman [small fixes to code blocks - it helps if even stubs are syntactically correct... (and we really shou]
Additions:
%%(php)<?php
function GetPhpFiles (/*parameter would be the directory*/) {}
?>%%
%%(php)<?php
?>%%
%%(php)<?php
return $this->LoadAll("SELECT * FROM ".$this->config["table_prefix"]."events WHERE page_tag = '".mysql_real_escape_string($tag)."' ORDER BY time");
function UpdateEvent() {} //this function will someday compare two events, the original and the changed and, if both are different, delete the old and save the new one, using DeleteEvent and SaveEvent
function DeleteEvent($event_id) {} //this function will delete an event from the database
function SaveEvent($startdate, $starttime, $stopdate, $stoptime, $page_tag) //saves an event to the database
$this->Query("INSERT INTO ".$this->config["table_prefix"]."events SET "./*...*/);
//...
function LoadEvent($event_id) {} //will load an event
function EventMatchesDay($event_id, $day) {} //function if an event is on the day specified
?>%%
%%(sql)
`event_id`,
`startdate`,
`starttime`,
`stopdate`,
`stoptime`,
`page_id`,
`event_repeat`,
`repeat_freqeuncy`,
`event_weekday`,
`creator`,
) TYPE=MYISAM ;
Deletions:
function GetPhpFiles (parameter would be the directory)
{ return $this->LoadAll("SELECT * FROM ".$this->config["table_prefix"]."events WHERE page_tag = '".mysql_real_escape_string($tag)."' ORDER BY time"); }
function UpdateEvent //this function will someday compare two events, the original and the changed and, if both are different, delete the old and save the new one, using DeleteEvent and SaveEvent
function DeleteEvent($event_id) //this function will delete an event from the database
function SaveEvent($startdate, $starttime, $stopdate, $stoptime, $page_tag, ) //saves an event to the database
$this->Query("INSERT INTO ".$this->config["table_prefix"]."events SET ".
...
function LoadEvent($event_id) //will load an event
function EventMatchesDay($event_id, $day) //function if an event is on the day specified
`event_id` '',
`startdate` '',
`starttime` '',
`stopdate`
`stoptime`
`page_id`
`event_repeat`
`repeat_freqeuncy`
`event_weekday`
`creator`
) TYPE= ;


Revision [2268]

Edited on 2004-11-17 10:53:28 by DarTar [Added reply]
Additions:
''Nils, a similar proposal (restricted to the actions folder) has be made [[DescribeActions here]]
-- DarTar''


Revision [2263]

Edited on 2004-11-17 09:49:47 by NilsLindenberg [added some things]
Additions:
====Small Ideas====
1. an action to get a list of php files
function GetPhpFiles (parameter would be the directory)
//it has at first to check if the directory exists
//then load every file in the directory into an array
//returns a failure if no read-access to the directory
//an array with [x][0] = name [x][1] = ending
//another array which only contains the files with the ending "php"
//returns that array
-(categories the event is attached to - wait till category system is finished)
-(access: users which have access to the event - same structure as for the page acls)
CREATE TABLE `wikka_events` (
`event_id` '',
`startdate` '',
`starttime` '',
`stopdate`
`stoptime`
`page_id`
`event_repeat`
`repeat_freqeuncy`
`event_weekday`
`creator`
`text`
UNIQUE KEY `event_id` (`event_id`)
) TYPE= ;
Deletions:



Revision [2240]

Edited on 2004-11-16 17:50:12 by NilsLindenberg [added some things]
Additions:
-repeat: //dropdown menu (no, daily, weekly, monthly, yearly)//
Deletions:
-repeat://dropdown menu (no, daily, weekly, monthly, yearly)//


Revision [2239]

Edited on 2004-11-16 17:49:10 by NilsLindenberg [added some things]
Additions:
- events are attached to wikipages
function SaveEvent($startdate, $starttime, $stopdate, $stoptime, $page_tag, ) //saves an event to the database
function LoadEvent($event_id) //will load an event
function EventMatchesDay($event_id, $day) //function if an event is on the day specified
function ShowDay
function ShowDaybased Weeks
function ShowWeek
function ShowMonth
function ShowYear

The question is where to put the code which provides the form for adding/changing an event.
The form must contain:
-Start: //date dropdown menu (1-31)//. //month drop down menu (1-12 or better names)//.//input field for the year (four digits)// //Hour drop down (0-24)//.//Minutes (0-59)//
-Stop: //the same for stop.//
-repeat://dropdown menu (no, daily, weekly, monthly, yearly)//
-end of repeat: //same as Start//
-frequency of repeat: //dropdown (1-25)//
I need another function which gets the data and checks:
- if the dates are real dates: [[http://www.selfphp.info/funktionsreferenz/datums_und_zeit_funktionen/checkdate.php checkdate]] should help
- the stop date/ end of repeat are after the start date
- the years are in the range of the organizer
1) ##event_repeat## with the options //no//, //daily//, //weekly//, //monthly//, //yearly//
1) ##repeat_frequency## every time, every second etc.
1) ##event_weekday## only for repeat weekly
1) ##creator## the one who entered this event
1) (##access## which users are able to see it - different table?)
1) ##text## short text with a description of the event
Deletions:
- markup of events in wikkapages
(''check if the date is a real date: [[http://www.selfphp.info/funktionsreferenz/datums_und_zeit_funktionen/checkdate.php checkdate]] should help'')
function SaveEvent ($startdate, $starttime, $stopdate, $stoptime, $page_tag, ) //saves an event to the database
1) ##event_repeat## with the options //no//, //daily//, //weekly//, //monthly//, //yearly//
1) ##user## the one who entered this event
1) (##user_access## which users are able to see it - different table?)
1) ##text##
''Problems'':
- what about periods and repeatable events? [perhaps another table with the relation between events?]
==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"]


Revision [2238]

Edited on 2004-11-16 17:21:31 by JavaWoman [fixed a small markup problem]
Additions:
(''check if the date is a real date: [[http://www.selfphp.info/funktionsreferenz/datums_und_zeit_funktionen/checkdate.php checkdate]] should help'')
Deletions:
[[ ''check if the date is a real date: [[http://www.selfphp.info/funktionsreferenz/datums_und_zeit_funktionen/checkdate.php checkdate]] should help'']]


Revision [2237]

Edited on 2004-11-16 16:53:29 by NilsLindenberg [added things]
Additions:
===Adding, Editing, Deleting Events===
1. If a user has the right to see events attached to a page, they will appear on this page (below the comments or so)
2. If the user has the right to set events on a page, a form for adding events will appear, or is the ##action/event.php## will accept the parameters "new", "change" (or "edit") and "delete" better?
[[ ''check if the date is a real date: [[http://www.selfphp.info/funktionsreferenz/datums_und_zeit_funktionen/checkdate.php checkdate]] should help'']]
==The Code==
//config_options
function LoadPageEvents($tag) //load the events attached to a page
{ return $this->LoadAll("SELECT * FROM ".$this->config["table_prefix"]."events WHERE page_tag = '".mysql_real_escape_string($tag)."' ORDER BY time"); }
function UpdateEvent //this function will someday compare two events, the original and the changed and, if both are different, delete the old and save the new one, using DeleteEvent and SaveEvent

function DeleteEvent($event_id) //this function will delete an event from the database
function SaveEvent ($startdate, $starttime, $stopdate, $stoptime, $page_tag, ) //saves an event to the database
{
$user = $this ->GetUserName();
$this->Query("INSERT INTO ".$this->config["table_prefix"]."events SET ".
...
There are changes in the original database needed.
It is necessary to create ##events##, the database in which the events are stored:
1) ##startdate##
1) ##page_id## (or is the name better?) for a backlink and for the adding to a page
1) ##event_repeat## with the options //no//, //daily//, //weekly//, //monthly//, //yearly//
1) ##user## the one who entered this event
1) (##user_access## which users are able to see it - different table?)
1) ##text##
1) (##category## an event belongs to - different table?)
Deletions:
===Markup for events===
-in the default config:
//load the events attached to a page
function LoadPageEvents($tag)
{
$table_prefix= $this->GetConfigValue(table_prefix);
return $this->LoadAll("SELECT * FROM ".$table_prefix."events WHERE page_tag = '".mysql_real_escape_string($tag)."' ORDER BY time");
1. the ##action/event.php## will accept the parameters "new", "change" (or "edit") and "delete".
1)
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]
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: [[http://www.selfphp.info/funktionsreferenz/datums_und_zeit_funktionen/checkdate.php checkdate]] should help''
- look at the functions for the link - handling, the event - handling should work similar:

There are changes in the original database needed
The database in which the events are stored, has to have the following things:
1) ##startdate## of an event
1) the ##page_id## it belongs to
1) the ##user## which are able to see it
1) the ##text##
1) the ##category## an event belongs to


Revision [2235]

Edited on 2004-11-16 14:06:24 by GmBowen [link to project in progress...]
Additions:
1) User-to-User-Messages-System (working on this...see [[http://gmbowen.educ.unb.ca/wiki/wakka.php?wakka=MailBox MailBox ]]...the code (so far) is there....feel free to play with it - GmBowen)
1) Access to the Config.php through a wikka-interface
Deletions:
1) User-to-User-Messages-System (working on this...see [[http://gmbowen.educ.unb.ca/wiki/wakka.php?wakka=MailBox MailBox ]] - GmBowen
1) Acces to the Config.php through a wikka-interface


Revision [2234]

Edited on 2004-11-16 14:02:31 by GmBowen [added link to Nils' suggestion]
Additions:
1) User-to-User-Messages-System (working on this...see [[http://gmbowen.educ.unb.ca/wiki/wakka.php?wakka=MailBox MailBox ]] - GmBowen
Deletions:
1) User-to-User-Messages-System (working on this...see [[MailBox http://gmbowen.educ.unb.ca/wiki/wakka.php?wakka=MailBox]] - GmBowen


Revision [2233]

Edited on 2004-11-16 14:02:04 by GmBowen [added link to Nils suggestion]
Additions:
1) User-to-User-Messages-System (working on this...see [[MailBox http://gmbowen.educ.unb.ca/wiki/wakka.php?wakka=MailBox]] - GmBowen
====Issue-based Calendar====
Deletions:
1) User-to-User-Messages-System
====Isue-based Calendar====


Revision [2232]

Edited on 2004-11-16 13:52:28 by NilsLindenberg [some ideas added+changes]
Additions:
1) I18n, L10n=> WikkaInternationalization, HandlingUTF8
1) E-Mail and => WikkaAndEmail & see below for some thoughts
1) User-to-User-Messages-System
1) Footnotes (http://www.istitutocolli.org/uniwakka/FootNote)
1) LaTex support (http://www.istitutocolli.org/uniwakka/MathInsert)
1) OpenOffice import/export
1) Smilys (http://www.istitutocolli.org/uniwakka/TablesAndSmileys
A new idea to handle events like comments attached to a page. The other way leeds to problems i can not solve now.
needed in ##wikka.php##:
-in the default config:
"hide_events" => 0, //equivalent to "hide comments"
"default_event_acl" => "*",
(there is no need to have an equivalent to "anoy_delete_own_comments" because events must be more editable then comments anyway)
//load the events attached to a page
function LoadPageEvents($tag)
{
$table_prefix= $this->GetConfigValue(table_prefix);
return $this->LoadAll("SELECT * FROM ".$table_prefix."events WHERE page_tag = '".mysql_real_escape_string($tag)."' ORDER BY time");
}
1. the ##action/event.php## will accept the parameters "new", "change" (or "edit") and "delete".
1)
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]
There are changes in the original database needed
1) ##startdate## of an event
1) ##starttime##
1) ##stopdate##
1) ##stoptime##
1) the ##text##
The events should be visible at
- the page they belong to
- the category the belong to
- the daily view tbt
- (the weekly view)
- (the monthly view)
- (the yearly view)
++whait till Javawomen has finished WikkaAndEmail and see what could be used :-)++
Deletions:
1) I18n, L10n=> WikkaInternalisation, HandlingUTF8
1) E-Mail and => WikkaEmail & see below for some thoughts
1) Smilys (ok, in some sort of "when everything else is done" ;-)
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?
$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?
1) ##time##, ##date##, [##weekday##, ##week##], ##month## and ##year## of an event
1) the ##text## from the wikipage
++whait till Javawomen has finished WikkaEmail and see what could be used :-)++


Revision [2199]

Edited on 2004-11-15 13:01:29 by NilsLindenberg [minor change]
Additions:
%%
//delete old link table
%%
Deletions:
// delete old link table


Revision [2198]

Edited on 2004-11-15 12:57:42 by NilsLindenberg [links added]
Additions:
//other calendar projects//
//time and date related//
http://phplens.com/phpeverywhere/adodb_date_library
http://www.php.net/mktime


Revision [2127]

Edited on 2004-11-10 16:55:03 by NilsLindenberg [layout]
Additions:
++understand how all this stuff works ;-) => http://www.develnet.org/28.html ++
Deletions:
++understand how all this stuff works ;-) => http://www.develnet.org/28.html++


Revision [2104]

Edited on 2004-11-08 10:39:06 by NilsLindenberg [layout]
Additions:
http://sourceforge.net/projects/webcalendar/
http://freshmeat.net/projects/activecalendar/


Revision [2091]

Edited on 2004-11-06 13:40:41 by NilsLindenberg [layout]
Additions:
====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.
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: [[http://www.selfphp.info/funktionsreferenz/datums_und_zeit_funktionen/checkdate.php 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?
<<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 :) <<
++whait till Javawomen has finished WikkaEmail and see what could be used :-)++
Deletions:
====My Wishlist for Wikka====
- I18n, L10n=> WikkaInternalisation, HandlingUTF8
- a better System for Categorys => CategorySystemOverhaul
- E-Mail (see below for some thoughts) and => WikkaEmail
- Toc (Table of Content) -> already implementet in WackoWiki
- Usermanagement -> UserAdmin
- Acces to the Config.php through a wikka-interface
- Smilys (ok, in some sort of "when everything else is done" ;-)
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 :)
++whait till Javawomen has finished WikkaEmail and see what could be used :-)++
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.
1) So the first step is to find a char which isn't used yet and which does not interfere with other things.
1) The save action for a page has to check if the markup has the right style and then enter the event with the text in the event-database
1) At the html page something like (calendar:24.12)X-Mas"!(/calendar) should appear
1) 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 :) -> by deleting all events attached to the page and write the new version in the event-database (note that deleted (hopefully) would appear in the history of a page, therefore events should be saved only when the page is saved, not when it is viewed)
1) 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]

...more in the next days, when I have the time to type the hand-written pages with my thoughts...


Revision [2073]

Edited on 2004-11-03 17:15:45 by NilsLindenberg [layout]
Additions:
- I18n, L10n=> WikkaInternalisation, HandlingUTF8
- a better System for Categorys => CategorySystemOverhaul
- E-Mail (see below for some thoughts) and => WikkaEmail
Deletions:
- I18n
- L10n
- a better System for Categorys -> CategorySystemOverhaul
- E-Mail (see below for some thoughts)


Revision [2072]

Edited on 2004-11-03 16:28:23 by NilsLindenberg [layout]

No Differences

Revision [2071]

Edited on 2004-11-03 15:54:37 by NilsLindenberg [layout]
Additions:
===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 :-)++
- events could be marked up in different categorys
- days should be shown colored (like {{colour c="red" text="sundays"}}, {{colour c="gray" text="past days"}} etc.)
1) 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 :) -> by deleting all events attached to the page and write the new version in the event-database (note that deleted (hopefully) would appear in the history of a page, therefore events should be saved only when the page is saved, not when it is viewed)
1) 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]
==Monthly view==
==Yearly view==
[for the yearly view something like: http://freshmeat.net/projects/activecalendar/ (picture!) (phpclasses.org:1870)]
- 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?]

Deletions:
==Body==
-
- events could be marked up in different colors
- days should be shown colored (like sundays in red, past days in gray etc.)
1) 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 :) -> perhaps by deleting all events attached to the page and write the new version in the event-database
1) The database needs the following information: date (day, [weekday, week] month, year), time (hour, minute), user, color [of the event], repeat[how?], [unsure about stop_date & stop_time]


Revision [2066]

Edited on 2004-11-02 17:33:45 by NilsLindenberg [layout]
Additions:
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 [[http://wackowiki.com/NemoD WackoWiki]], [[http://www.wikipedia.de/Nemonand 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... :-)
- Smilys (ok, in some sort of "when everything else is done" ;-)
====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 :)
====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.<<
::c::
===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 colors
- 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 in red, past days in gray etc.)
===Markup for events===
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.
1) So the first step is to find a char which isn't used yet and which does not interfere with other things.
1) The save action for a page has to check if the markup has the right style and then enter the event with the text in the event-database
1) At the html page something like (calendar:24.12)X-Mas"!(/calendar) should appear
1) 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 :) -> perhaps by deleting all events attached to the page and write the new version in the event-database
1) The database needs the following information: date (day, [weekday, week] month, year), time (hour, minute), user, color [of the event], repeat[how?], [unsure about stop_date & stop_time]
===The calendar itself===
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.
===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.
...more in the next days, when I have the time to type the hand-written pages with my thoughts...
Deletions:
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 [[http://wackowiki.com/NemoD WackoWiki]], [[http://www.wikipedia.de/Nemonand Wikipedia]] and http://www.openformats.org .
- Smilies (ok, in some sort of "when everything else is done" ;-)
==== 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 :)


Revision [2028]

Edited on 2004-10-27 17:07:45 by NilsLindenberg [layout]
Additions:
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<<
Deletions:
http://www.joelonsoftware.com/articles/fog0000000054.html - about the necessity of good migration functions
http://www.joelonsoftware.com/articles/fog0000000020.html - against building small programms with many features
http://phpwiki.sourceforge.net/phpwiki/WikiAsPim - about using Wiki for personal information management<<


Revision [2020]

Edited on 2004-10-26 13:26:57 by JavaWoman [rcf->RFC, oldstandards]
Additions:
===RFCs===
1) old standard: 822
1) new standard: 2822
1) "envelope" (transmission and delivery) -> 2821 (old standard: 821)
==[[http://www.faqs.org/rfcs/rfc2822.html RFC2822]]==
Deletions:
===Rcf's===
1) old standard:
1) new standard:2822
1) "envelope" (transmission and delivery) -> 2821
==[[http://www.faqs.org/rfcs/rfc2822.html Rcf2822]]==


Revision [2016]

Edited on 2004-10-26 10:35:40 by NilsLindenberg [rcf->RFC, oldstandards]
Additions:
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 [[http://wackowiki.com/NemoD WackoWiki]], [[http://www.wikipedia.de/Nemonand Wikipedia]] and http://www.openformats.org .
>>====Links====
http://www.joelonsoftware.com/articles/APIWar.html - about the necessity of backward compatibility
http://www.joelonsoftware.com/articles/fog0000000054.html - about the necessity of good migration functions
http://www.joelonsoftware.com/articles/fog0000000020.html - against building small programms with many features
http://phpwiki.sourceforge.net/phpwiki/WikiAsPim - about using Wiki for personal information management<<
- Usermanagement -> UserAdmin
Deletions:
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 http://wackowiki.com, http://www.wikipedia.de and http://www.openformats.org
- Usermanagement
====Links====
about the necessity of backward compatibility
- ((http://www.joelonsoftware.com/articles/APIWar.html How Microsoft Lost the API War))
- ((http://www.joelonsoftware.com/articles/fog0000000054.html Strategy Letter II: Chicken and Egg Problems))
against building small programms with many features
- *((http://www.joelonsoftware.com/articles/fog0000000020.html Strategy Letter IV: Bloatware and the 80/20 Myth))
about using Wiki for personal information management
- ((http://phpwiki.sourceforge.net/phpwiki/WikiAsPim PHP-Wiki as Pim))


Revision [1971]

Edited on 2004-10-23 19:45:21 by NilsLindenberg [rcf->RFC, oldstandards]
Additions:
====My Wishlist for Wikka====
- I18n
- L10n
- a better System for Categorys -> CategorySystemOverhaul
- E-Mail (see below for some thoughts)
- Toc (Table of Content) -> already implementet in WackoWiki
- Usermanagement
- Acces to the Config.php through a wikka-interface
- Smilies (ok, in some sort of "when everything else is done" ;-)
====Links====
about the necessity of backward compatibility
- ((http://www.joelonsoftware.com/articles/APIWar.html How Microsoft Lost the API War))
- ((http://www.joelonsoftware.com/articles/fog0000000054.html Strategy Letter II: Chicken and Egg Problems))
against building small programms with many features
- *((http://www.joelonsoftware.com/articles/fog0000000020.html Strategy Letter IV: Bloatware and the 80/20 Myth))
about using Wiki for personal information management
- ((http://phpwiki.sourceforge.net/phpwiki/WikiAsPim PHP-Wiki as Pim))


Revision [1940]

Edited on 2004-10-20 15:05:45 by NilsLindenberg [rcf->RFC, oldstandards]
Additions:
==[[http://www.faqs.org/rfcs/rfc2822.html Rcf2822]]==
==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'')
==Body==
-
Deletions:
===[[http://www.faqs.org/rfcs/rfc2822.html Rcf2822]]===
- length of a //line// without CRLF: 998 char. max, 78 char. recommended
==The Header of an email==



Revision [1927]

Edited on 2004-10-19 08:44:31 by NilsLindenberg [rcf->RFC, oldstandards]
Additions:
1) new standard:2822
1) MIME document series [RFC2045, RFC2046, RFC2047, RFC2048, RFC2049] for non ascii-messages (and audio, video,etc.?)
===[[http://www.faqs.org/rfcs/rfc2822.html Rcf2822]]===
- '' Note: This standard specifies that messages are made up of characters in the US-ASCII range of 1 through 127.''
- length of a //line// without CRLF: 998 char. max, 78 char. recommended
==The Header of an email==

Deletions:
Hi!
1) new standard:2822 (http://www.faqs.org/rfcs/rfc2822.html )
1) MIME document series [RFC2045, RFC2046, RFC2047, RFC2048, RFC2049] for non ascii-messages (and audioi, video,etc.?)
===Rcf2822===
- '' Note: This standard specifies that messages are made up of characters in the US-ASCII range of 1 through 127.
- length of a //line// without CRLF: 998 char. max, 78 char. recommended


Revision [1906]

Edited on 2004-10-18 15:32:05 by NilsLindenberg [rcf->RFC, oldstandards]
Additions:
=====Userpage of Nils Lindenberg=====
====About me====
==== E-Mail====
Deletions:
== E-Mail ==


Revision [1903]

Edited on 2004-10-18 09:23:13 by NilsLindenberg [rcf->RFC, oldstandards]
Additions:
===Rcf's===
1) old standard:
1) new standard:2822 (http://www.faqs.org/rfcs/rfc2822.html )
1) "envelope" (transmission and delivery) -> 2821
1) MIME document series [RFC2045, RFC2046, RFC2047, RFC2048, RFC2049] for non ascii-messages (and audioi, video,etc.?)
===Rcf2822===
- 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 of a //line// without CRLF: 998 char. max, 78 char. recommended
Deletions:



Revision [1843]

Edited on 2004-10-13 12:44:17 by NilsLindenberg [rcf->RFC, oldstandards]
Additions:
- http://de.wikipedia.org/wiki/Imap, http://de.wikipedia.org/wiki/POP3, http://de.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol, http://de.wikipedia.org/wiki/Simple_Mail_Access_Protocol, http://de.wikipedia.org/wiki/E-Mail
Deletions:
- http://de.wikipedia.org/wiki/Imap, http://de.wikipedia.org/wiki/POP3, http://de.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol, http://de.wikipedia.org/wiki/Simple_Mail_Access_Protocol


Revision [1842]

Edited on 2004-10-13 12:43:29 by NilsLindenberg [rcf->RFC, oldstandards]
Additions:
- http://de.wikipedia.org/wiki/Imap, http://de.wikipedia.org/wiki/POP3, http://de.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol, http://de.wikipedia.org/wiki/Simple_Mail_Access_Protocol


Revision [1841]

Edited on 2004-10-13 12:33:04 by NilsLindenberg [rcf->RFC, oldstandards]
Additions:
Hi!
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 http://wackowiki.com, http://www.wikipedia.de and http://www.openformats.org
== 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?
===Links===
- 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.
- http://www.php-free.de/Email/

Deletions:
If I find time, I will write a text.


Revision [1693]

Edited on 2004-10-06 16:10:52 by NilsLindenberg [rcf->RFC, oldstandards]
Additions:
CategoryUsers
Deletions:
CategoryUser


Revision [1692]

The oldest known version of this page was created on 2004-10-06 16:10:27 by NilsLindenberg [rcf->RFC, oldstandards]
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki