Current MS Students/Chun ping Wang
From CSWiki
-- ~~~~
Contents
|
[edit] Project: Wiki base conference editor
[edit] Project: wiki base conference editor.
[edit] What you are planning to accomplish
[edit] Brief Project Description
I am going to create an Wiki base conference editor that will automatically decide if its event or CLP. I will create an API for Wiki where users can add conferences to the Conferences with more ease.
Macro will look something like this.. [create_conference(date, event, location, event location)]
Features.
- 1.) Automatic insert "event" if the call for paper happens to be at the same time the event started , otherwise "cfp".
- 2.) Users can sort the event base on the following criteria below.
| [Date Date (Default)] | [Event Event] | [Location Location] | [Event Date Event Date] |
- 3.) Daily RSS feed through filters of possible New Conferences.
Might need to Add sql macros to wiki.
[sqlconnect (name, address, database)] will create an sql connection in wiki. This must always be the first line of any page you are trying to edit. [sqlget(tablename, field1, field2, fieldn | (constraint such as where)] will expand to "select field1, field2..fieldn from tablename where ...", it will than be automatically output into Table format. [sqlinsert(tablename, field1="field1", field2="field2"...fieldn="fieldn" | constraint such as where)] will expand into 'insert into tablename field1("field1"), field2("field2"), ... fieldn("fieldn") where ...' [sqlupdate(tablename, field1="field1", field2="field2" ... fieldn="fieldn" | constraint such as where)] will expand into 'update tablename set field1="field1", field2="field2" where...'; [sqldelete(tablename, | constraint such as where)] will expand into "delete from tablename where ..." Note that API calls are subject to change. There is no need to call disconnect from sql since SQL disconnection will be automatically made at the page if [sqlconnect] macro is found.
[edit] high level architecture
- Blue means I am going to implement.
- White means possible implementation.
- Orange means already implemented.
[edit] Why this is academically interesting and challenging work
[edit] Intended Audience
Anyone who wants to have embedded SQL calls in Wiki and anyone who wants to update and add conferences to conferences page.
[edit] Why is this MS-level work
There are three "interesting" and "challenging" part to it.
- 1.) This work is academically interesting because many times instructor have conferences in which they like to add to Wiki. A nice automatic scheduling system including automatic email remainder could help instructor or student get email on conference three days before it actually happen.
- 2.) The second "interesting/challenging" work is adding SQL tag library into Wiki.
- 3.) The third "interesting/challenging" is automatically find the owner of each conference. There are links to conference but we might not necessary know who sponsor the conference. Example in recent video game tourney call evolution 2k7, the sponsor is Toyota, even though the people holding the tourney are from Shoryuken
[edit] Previous work in this area
- Doctrine
- ZendFramework
- [1]
- sql macro
- Open wiki
- microsoft sql server express It is free and happens to be more scalable than MySql and PostgreSql.
[edit] What you anticipate to be the most difficult challenge(s) you will face
[edit] Challenges
- 1.) Problem (medium): Integrating SQL calls into Wiki. The current problem is that currently there are no existing libraries that allows you to do underlying wiki call.
- 2.) Problem (small): Finding the sponsor for each conference.
Solution: Use a web crawler.
- 3.) Problem (small): Automatic update of site.
- 4.) Problem (medium): Filtering RSS feed since a user may only want conference to do with C++ conference.
[edit] Anticipated approach for each challenge
- 1.)First research if their is existing SQL tag library for Wiki and built on top of them if not than write an SQL tag for Wiki. Use Doctrine in conjunction with confluence sql wiki could help create api that makes things easier for end users.
- 2.) Use and build upon a web crawler.
- 3.) Manual Job Scheduling. Using
- 4.) RSS filters
[edit] Your relationship to this work
[edit] Background
I have a decent background in web programming, database, Object relational mapping framework. Most notably I have web programming experience in python and Java. I also recently gotten into wiki with helping boost web browsing testing.
[edit] Why this go beyond your experience
I never got into editing Wiki or adding things to Wiki before. I have experience with sql but no experience of integrating SQL calls in Wiki. Most of my experience comes from doing small programs in c++ and python, not building web project.


