Skip to content
This repository has been archived by the owner on Jan 15, 2019. It is now read-only.

Make a Wiki #25

Open
jackrosenthal opened this issue Sep 24, 2017 · 5 comments
Open

Make a Wiki #25

jackrosenthal opened this issue Sep 24, 2017 · 5 comments
Assignees
Labels

Comments

@jackrosenthal
Copy link
Contributor

jackrosenthal commented Sep 24, 2017

Long term feature addition...

We should have a wiki which:

  1. Projects can use to communicate with each other
  2. We can use to document things about the club (historical lists of officers etc.)... this should be permission controlled
  3. Keeps revision history
  4. Has styling via reStructuredText
@jackrosenthal
Copy link
Contributor Author

work is currently being done on this in the wiki branch

@jackrosenthal
Copy link
Contributor Author

jackrosenthal commented May 30, 2018

Reassigning this to the field session folks.... we need to throw out the old design as it's a big load of garbarge and implement something new.

All of the above requirements still apply.

Steps:

  • Desgin an ERD for a wiki system which keeps revision history and create a specification for how changes are stored (is the entire text of the page stored in each revision, or is it a differential set of patches that is stored?... I think the former is a better approach, but open to options.)
  • Implement the database model in SQLAlchemy
  • Implement the controllers for a wiki page and the wiki as a whole. See the user controller for an example of how to do this in an OO-manner.
  • Implement views for wiki pages.
  • Implement views for wiki editor.
  • Implement views for revision history.
  • Implement reStructuredText formatting, be careful to not allow the raw directive or file includes for security reasons (see Docutils documentation for more info)
  • Write a migration for the database schema.
  • Submit a pull request to the master branch.

See my prior attempt in the wiki branch for what you should do better than. I can also help you with this as well.

Let's set a goal of completing this by the end of this iteration, but if you fall behind, we can include some of these steps in the next iteration.

@jackrosenthal jackrosenthal added the field-session For the field session team label May 30, 2018
@JadElClemens
Copy link
Contributor

JadElClemens commented Jun 11, 2018

TODO:

  • Create front/landing page for the wiki
  • Change _init_wiki_repo method of wiki controller to commit said page instead of example data
  • Make the index method (or something like FrontPage?) bring the user to said page
  • Refine wiki view page (currently lacks Bootstrap elements)
  • Space the wiki secondary toolbar from the page content
  • Consider changing the look of the wiki toolbar, possibly moving it.
  • Page list is functional but could use some visual changes

@JadElClemens
Copy link
Contributor

JadElClemens commented Jun 11, 2018

I went ahead and checked off the rest of the database stuff since we won't be using a traditional database for this.

@JadElClemens
Copy link
Contributor

I've begun formatting the wiki files as text templates before rendering to HTML. Currently I'm passing the filename and tg module into the template - not sure it's safe, but it's convenient for now.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

6 participants