| SITE ANNOUNCEMENTS: | |
|---|---|
| |
Dwarf Fortress Wiki:Magmawiki
From Dwarf Fortress Wiki
magmawiki is the project to replace the mediaWiki engine.
Source code is hosted on Github.
IRC channel for software development (NOT dwarf fortress questions / discussions, check here for those channels!) is #magmawiki on freenode.org
Discussion of the magmawiki project on the forums is here
Contents |
[edit] Versioning
| 0 | . | 0 | . | 17 | . | 0 | . | 246 | ||||||||||||||||
| Major version number. | Level of magma (0-6/7), new major version when it reaches 7. | Minor feature version. | Bug/security fixes on current "major.magma.minor" version combo. | Number of expletives uttered during development. | ||||||||||||||||||||
[edit] Conceptual screenshots / sketches
loginbox design (modal dialogs)
THE FONT SIZE IS BUGGING ME AUGH THE PAIN
[edit] Planned Versions
[edit] Version 0.1 Features
- Header
- Tabs
Article Actions (Read / Edit / History)- Talk
- Menu
- Favorite
- Special tabs
- User Bar
- Tabs
- Articles
Optimistic Locking- Actions
Create (New)Read (Show)Parser (Mediawiki)Article Links
Update (Edit)
Named URIs (slugs)Immutable until page move (NYI)Mutable titles, as long as same slug is generated
- Revisions
Counter cacheHistory- Differences view
Missing unit tests- Users
Account creationLogin / Logout (sessions)- Account management
Localization options- Change password
- Change email
- IP Tracking
- Revision / Article edit tied to user
Localization backend stuff
[edit] Version 0.2 Features
- Articles
- Actions
- Delete
- Optimistic Locking Merges (
I don't remember what I meant by thispage merge screen for changes when changes are blocked by optimistic locking) - Page moves
- Namespaces
- Page level protection
- Redirects
- Actions
- Users
- Captcha
- User Permissions
- User Permission Levels
- Search
- Basic article name search
[edit] Version 0.3 Features
- Articles
- Parser (Textile / Markdown?)
- Templates
- Mediawiki
- Python
- Subpages
- Fulltext search
[edit] Version 0.4 Features
- Articles
- Live edit preview
- Mediawiki Import functionality
- Sandboxes
- Sandbox merging
[edit] Points of discussion
- Mass deletion of a users contribs (perhaps ranges and checkbox methods?)
- Talk forums -- see this page
- Article ratings
- Line / Word comments (post it notes / discussion thread reference points?)
- Alternative url implementations (RESTful state w/o /[new, edit, create, etc])
- Side by side rendering
[09:17am] epitron: side-by-side markup/rendered-html [09:17am] epitron: you click "preview" and it re-renders it [09:18am] epitron: and if you scroll, it scrolls both windows in synch [09:18am] epitron: like the way MELD does [09:18am] locriani: that's good [09:18am] epitron: the preview will scroll a lot less sometimes [09:18am] epitron: like for your version number table monstrousity [09:18am] locriani: and the cursor position in the markup window [09:18am] locriani: or in the html window [09:18am] locriani: will highlight the appropriate element in the other window [09:18am] epitron: yeah! [09:18am] epitron: cursor position would be harder [09:18am] epitron: but it would be slick
- AUGH PASSWORDS (Mediawiki:
":B:"+ salt (31 bit, hex between 0 and 7fff ffff inclusive) + ":" + md5(salt + "-" + md5(password))) - file uploads, html5 display methods, etc (video,
<canvas>tags, media, acceptable formats, etc) - Document management stuffs
- Inline-comments
12:00 <@epitron> i think i just solved the marking problem
12:01 <@epitron> 1) the match is saved as plaintext with an integer
12:02 <@epitron> 1.a) the integer represents which occurance of that match you've marked
12:02 <@epitron> 2) html can be stripped to find the same position in the markup doc
12:03 <@epitron> 3) to deal with new edits, the integer can increment when a diff
contains the plaintext match
12:03 <@epitron> (a diff before the marked area)
12:03 <@epitron> (we can ignore diffs afterwards)
12:03 <@epitron> sound good?
12:04 <@epitron> it gets around the round-tripping problem by reducing everything to
good old plaintext :D
12:04 <@epitron> i believe that's a reliable 1:1 mapping
12:05 <@epitron> just gotta normalize it by doing gsub(/\s+/, ' ')
13:27 <@epitron> the only piece remaining is how to persist the inline comments across
revisions
13:28 <@epitron> the marked area will be active on a revision up until it's overwritten
13:29 <@epitron> (there's a little edge case where a marking is overwritten, then a
few revisions down the road you revert back to an earlier copy with
the marking... it should be re-connected to that document)
13:29 <@epitron> s/document/revision/
[edit] Considered Features
Items are color coded. Green means very important, yellow means fairly important, and red means near feature, but we need to get the other stuff done first.
- Categories
- Templates
- Clone some mediawiki parser functionality
- Python and Ruby
- "Restricted Python":http://pypi.python.org/pypi/RestrictedPython/
- "Ruby Taint":http://ruby-doc.org/docs/ProgrammingRuby/html/taint.html
- Talk forums (could temporarily use article system as stop-gap)
- User accounts
- Permission levels
- Blocking
- Per-user JS
- Per-user CSS
- Search
- Articles
- History
- Diff view
- Redirects
- Per-page JS
- Per-page CSS
- Namespaces
- Aliases
- User Preferences
- Default search namespace
- Change password (if there are users)
- Signature? (with forums not really needed)
- Maintenance
- API for bots
- Disabling edits to large categories of pages
- Automated spam filtering