User-contributed extensions for WikkaWiki
The purpose of this page is to briefly list/summarize code contributions that have been created by various contributors but which are not included in wikka as part of the general release package. This is in recognition that there are now many enhancements of wikka that it is difficult to stay aware of without going to each and every page listed in CategoryUserContributions. In addition, this provides a summary of enhancements that (potential) new wikka adopters can use to rapidly figure out if wikka will meet their needs.
Note that the contributions are presented from the authors "as they are". None of the authors can be made responsible for not working code or any loss of data!
As code contributions are included in the wikka package then they should either be removed from this page or noted as being a formal modification of wikka (the argument to not remove them is so that wikka owners using a previous package can add changes they might find useful).
A second list can be found at the bottom containing actions available for wakka-forks but which have not been adopted/adapted for wikka.
If you plan to contribute code for WikkaWiki, don't forget to:
- visit WelcomeDeveloper;
- follow this page naming convention;
- use the appropriate template to document your contribution;
- add a CategoryUserContributions link to the page;
- pop in #wikka to meet other developers;
User-contributed modules/extensions for WikkaWiki
Administrator Related
- GmBowenAdminPageControlTool - erase history, hide page, delete page (menu system) [code addition]
- List Hidden Pages - list the pages hidden by the admin control toll [action]
- DescribeUsers - an action which provides a list of information about each user [action]
- PageAdminPrune is an extension to PageAdminAction that allows for pruning of page revisions [action]
- RefactorWiki - allows renaming of pages & all associated links [code]
- ActiveDirectory - a first attempt toward a corporate single sign on... [code]
- InstallableActions - an Installer for actions
- ChecklinksAction - a link checker for internal (pages, actions, inter-wiki links) and external (web pages, files) links [action]
- ActivitySummaryAction - reports page edits and new users for a given period and includes a command-line reporting option [action]
- ServertimeOffsetWorkaround - sets a global offset for page timestamps if the wiki is used in a different timezone to the hosting server [code edit and slight addition]
Comments
- Search Comments - code addtion for textsearch.php that allows searching of comments [code addition]
- UserCommentsAction - list of pages commented on by any user (part of UserAdmin) [action]
- PagedComments - code to allow the user to set the pagination of comments (useful for faster loading of initial page) [code]
- CommentsFormatting - allows the usage of some wikka-markup in comments [code]
- OnegWRAllowComments - Reverse action of {{nocomments}} [action]
- SpamBlacklist - Plugin to blacklist spam, based on a list of regular expressions
- ReCaptchaCommentForm - Integrates ReCaptcha plugin with wikka comment-handling
Code
- OnegWRHide - This formatter would allow you to hide/not display a block from the source [formatter]
- calc - This action allows you to write calculations (with variables) and write out the result.
Database
- Data Base Status - action modified from one at wikini which shows the status of the wiki database tables [action]
- MigrateFromWackoWiki - Perl script to convert Wacko DB entries to a newly created Wikka DB
- BookmarkManager - Manage bookmarks from one centrally accessible Wikka server
Data Exchange
- ShowCsv - shows the content of a *.csv-file ona wikka-page [action]
- ImportUBB - conversion between wikka and UBB [javascript]
- FileexportAction - exports a selection of wiki pages into a self-contained HTML or XML file [action, handler]
- WebGet action - retrieves data from a URL and place the content in the current Wikka-page [action]
- EmailActionInfo - prints a spamsafe email-link [action]
- RandomMail - generates fake email-addresses [action]
Files
- FileModificationTime - prints the modification date of a file on the server [action]
- FilesManagementSolution - provides another (simpler) way to manage attachments [actions]+[handler]
- Attachments - yet another way to manage attachments [actions]+[handler]
- Fileview - Easy way to display a given set of files on the server [action]
Games
- BingoAction - prints a bingo card based on a word-page. [action]
Images/Graphical/Audio
- Gallery - show image thumbnails in a particular directory [action] (designated in various ways, including interactively, by wikka owner)
- Graphics Tools - file uploader, image approval system, etc. [action & file addition]
- BannerMaker - allows placing colored banners on pages to enhance formatting/layout [action & file addition]
- GraphMaker - generates graphs....both images that can be saved & uploaded, & wiki action code that can be placed on the page to generate the graph. [actions & file addition]
- EnhancedImageAction - add support of WIDTH & HEIGTH parameters [action]
- Mp3Player - a simple player for mp3 files if a url is added. [code & swf file]
- ImageListing - lists the directories & files (the latter with links) uploaded to the uploads directories specified in wikka.config. [action & class code]
- ImagePop - displays a thumbnail image that when clicked opens a popup with the full size image. [action]
- cp - Easy integration of pictures from a coppermine picture gallery
- Wikka Gallery - A wikka gallery. [action]
- Display a Freemind map with a Flash plug-in. [action] Need optimizations.
- AjaxGallery - a normal gallery - at first sight - that generates thumbnails and uses Ajax to show the larger version of the pictures [action]
- SmiliesAction - a flexible image action that can be used in conjection (or as a replacement of) with the official image and offers an easy way to include smilies icons in pages
- SlideshowGallery - a gallery script combined with a neat javascript slideshow [action]
- YouTube - embed a YouTube video quickly and easily using the URL provided in the 'About this video' section of the video page. [action]
- QuickTimeAction - quickly embed any QuickTime compatible media file in your wiki. [action]
- iFilm - embed a iFilm video quickly and easily. [action]
- LastFM Widgets - embed the last.fm widgets easy in your wiki. [action]
- GoogleVideo - embed a GoogleVideo [action]
- Gallery2 Embed - Embedding Gallery2 into Wikka. [action]
- BigImageGalleryAction - one big image surrounded by all the thumbnails. Clicking one thumb will change the content of the main image accordingly. [action]
- moseasymedia embeds pretty much any kind of video, including YouTube, Google, metacafe ... with one short tag. { {moseasymedia media=link} } [action]
- VimeoAction - This really simple action inserts a Vimeo video into a page by loading it into an iframe. [action]
Language-related
- Google Language Translation - addition of code for footer.php for adding language translation [code addition]
- MultiLanguageMenus - Provides a possibility for menus to be changed according to language specified. Based on WikkaMenus [database table, 2 actions, code addition]
Layout
- OnegWRCol - A way to print text in columns via <div> tags [action]
- SidenoteActions - a quick way to display a warning, note or tip sidenote. [actions, css, code]
- SidenoteActionsTormodHaugen - a modified version of SidenoteActions that modifies wikka.css and combines the actions into a single action. [action, css, code]
- InLineComments - add in-line comments to written text that appear in a formatted tooltip. [code & link]
- FootnoteAction - manages footnotes displayed at the bottom of the page [action, code, css]
Links
- Links to the same host - prevented from being marked as external [code addition]
- LinkUsingPageTitle - Instead of using the PageTag of the linked page as link text, this will use the Page Title (if available) of the linked page [code addition]
- LinkManager -- Tracks all pages linking to a particular page, allows for link groups, link weights, and embedded page content (extracts from the linking pages) [actions, table]
- OpenExternalInNewWindow - allows you to force external links to open in a new window [code]
- ShareOnLinkedIn - Share Page on LinkedIn, just include the action in your page and your users will be able to submit the link to LinkedIn.
Log-in
- WikkaWithphpBB - using the phpBB 2.x users table for logging-in [code]
- WikkaWithphpBB3 - using the phpBB 3.x users table for logging-in [code]
- FudLogin - using the FUDForum users table for logging-in. Also works with existing Wikka user database as you don't loose settings and users keep their WikiName
- LDAPauthentication - use a LDAP directory to validate login/password [code]
Navigation
- OnegWRTree - Finds pages within the current page name and builds a menu with it [action]
- WikiBreadcrumb - Shows a "trail" of your previously visited wiki pages [code & field addition]
- ParentAction - Allows for standard "breadcrumb trail" (i.e., allows for hierarchical classification schemes) [action, table]
- PopOutSideMenu - provides a menu that "pops out" from the left side for both IE & Firefox
- TabsMenu - Get tabs on your pages
- CategoryTree - a dirty hack to show all categories as a tree
Text-Communication Tools (messageboards, blogs, mail)
- SuggestionsBoard - allows to include a message-board to a page [action & new table]
- WikkaForum - allows small discussion forums to be placed on any wiki page [action & new table]
- Blog - action which includes a series of wikka pages into a single blog. [action & code changes]
- WikkaBlog - code to integrate wikka with blog programs [action/code]
- WikkaBlog2 - action to provide a blog (w/ wikka formatting & submission commenting) on a wikka page [action, code & new tables]
- WikkaMail - a Private Messaging System to allow communication between individual wikka users [action, code & new tables]
Page-related
- Erase History - auto erase history of page [action]
- My Pages menu - a horizontal listing of pages you own [action]
- Show Page Code - adds link so that raw page code can be shown easily [action & code addition] (builds on Mod042fShowPageCodeHandler) [action]
- Owned Pages - code addition for textsearch.php that shows pages owned by search if search term is registered user [code addition]
- Recent Edit Check - indicates in the header if a page has been edited recently (to reduce conflicts in editing) [code addition]
- Page Hit Counter - a counter to record how many times a page has been loaded [action & code addition]
- Page Hit Counter (2) - an extended version of the above counter: updated for newer Wikka versions, some bugs fixed, new functionality, site-wide on/off [action & code addition]
- UserPagesAction - list the pages owned by any user (part of UserAdmin) [action]
- Notify On Change - code to allow receiving feedback by email when a page is edited [code]
- Column Making - Simple code to allow a user to place 2+ columns of text on a saved page [actions]
- MostVisited - indicates which pages (out of those with this or this counter modification added) have been visited most often [action]
- MostVisited (2) - shows pages visited most often - an extended version of the above code (requires this counter modification) [action]
- WikkaMenus - a system of creating custom header and footer menus in wikka [code]
- CloneAction - clone another page (also CloneHandler) [action]
- Formatted Include - modification of wikka include action so there are formatting controls [action & css code]
- AutoReplace - allows to display WikiWords as Wiki Words depending on the user's choice - defaulted for guests [code]
- UserMenus - another way to have users managing their personal menus - different from WikkaMenus in many ways, it only offers one menu per user [code]
- AnchorAction - Anchor(s) in wikka-pages [action, code]
- DeleteSpamAction - modification/translation of wikini action that allows removal of contribution by user IP [action & code]
- BacklinksHandler - displays a list of pages linking to the current page [handler].
- AbbreviationAction - A simple action to use the <abbr> and <acronym> html tags [action, css]
- Reminder to save - Animated gif files & a simple code addition to remind users to save while editing [code & images]
- RobotFriendly - Makes SearchEngines ignore, and not index, deleted pages. [code]
- RecentChangesPlus - additional options for the recentchanges action [action]
- Recently edited social awareness functionality - This patch displays an overview of users who recently opened the WikiPage in edit mode, on a per-page basis. [code, table]
- PageIndexByLetterSuggestion - Allowing Columns on Wikka Pageindex action [code]
- FontActionInfo - renders text with a font located on the server [action]
- AcronymFormatter - formatts acronyms based on a defined list [formatter]
- Fortune - Displays a random one-line text from a file or a wiki-page [action]
- SimpleTableOfContents - Adds support for table of contents. [code]
- SpellcheckHack - Uses aspell and spellerpages to provide spell checking of wiki pages [code, plugin, files]
- MetaRefresh - Code snippet explaining how to setup META refresh for your homepage [code]
- GoogleSitemap - Generates a sitemap for Google's service.
- Custom Page Title Tag - modification which allows setting a specific TITLE tag inside HEAD for every WikiPage. Useful for Search Engines. [code]
- WikiPedia Action - An action that displays WikiPedia content in your page.
- Word Count Action - Quick and dirty word count action for text-only pages. [action]
- Event Notification Handler - however. This should be a framework that will allow wikka to automatically react to a variety of page events and trigger some response
- WikiEdit Version 3.01 - Wikka-ready modified version of the Editor used for editing Wiki pages with enhanced compatibility [plugin]
- Highlight Searched-for Text - Highlights text in your page that was searched for with TextSearch, Google or Yahoo.
- HTMLHandler - Export pages to HTML with inline CSS (excluding headers, footers, comments, etc.) [handler]
- MinorEditHack - Allows users to mark edits as "minor changes" which are not required to be shown in RecentChanges
- SpamBlacklist - Plugin to blacklist spam, based on a list of regular expressions
- LinkcountAction - Count links in a page. [action]
- StubText - Insert boilerplate stub page explanation. [action]
- UnCategoryAction - Display pages without category of the wiki. [action]
- InheritACL - Modification to allow new pages to inherit the ACLs of the page from where it has been created.
- StructDataAction - Add structured data items on a page and perform database-style requests on them [action]
- ChangesTeaser action - Display a very much simplified 'Recent Changes' listing (probably on front page). [action]
- Slideshow2Handler - Display a page as a slideshow [handler, code]
- RegexpindexAction - Display a list of pages whose tag name matches a given pattern [action]
- EditDiff - Display a diff between the current edit-draft of a page and the last saved revision
- Related Pages - Displays a list of links to related pages on the current page. [action & code]
- CKeditor4Wikka - Edit Wikka with the Html WYSIWYG CKeditor, and convert the Html output into wikitext before saving in DB! [handler addition & formatters code]
- WikkaWikiEMailNotifications - Notifys users on page changes via email, configurable per page in the ACL lists by the page owner. Based on NotifyOnChange [code]
- WatchedPages - Yet another page change emailer. Why? Users can individually configure their watched pages, and they can even watch categories. Emails are nicely formatted, and include text diffs.
- WikiPageWatch - Another page watcher, using the plugin system (mostly) to email opted in users for page changes and comments.
- AutoRefreshFromBody - Specifies that a page should to auto-refresh based on a tag within the body of the page. [code & tag]
Registration
- Control Registration - code so that the administrator can control whether registration is allowed, not allowed or allowed only with a password [code]
- AutomaticUserPageCreation - allows an admin to have the user-pages automatically created after registration [code]
- FreeCap CAPTCHA - adds a CAPTCHA to the registration process to sort out the real humans
- RecaptchaRegistration - plugin action integrates ReCAPTCHA challenge into registration process
Scheduler/Calendar
- Year Calendar - add a year-long calendar to your wikka [action & code addition]
- Scheduler - code to have a day scheduler to keep track of appts, etc. With day view & monthly view. [action & code addition]
- Task Manager - use the wikka as a structured task manager [action]
- TimeWithOffset - display the current server time, with optional offset [action]
Skins
- Skins - create/modify/change skins using WikkaSkinEditor, WikkaSkinSelector, MySkin Action, WikkaSkinsRepository (see TestSkin) [actions & code]
Table
- OnegWRCsv - This formatter would allow you to convert inline csv data into a table [formatter]
- SimpleTables - This formatter modification uses wiki markup to create simple tables. [code change]
User-related
- GmBowenSpellchecker - a simple text-file based (english) spellchecker for the editor [code & file addition]
- GmBowenUnitConverter - converts between different units (e.g., ounces to milliliters) [action]
- FeedbackActionUpgrade - allows the admin to send feedback to the email of any user (part of UserAdmin) [action]
- GroupManagement - allows to manage ACLs at User Group level [code]
- ACLsWithUserGroups - an alternative to manage ACLs at User Group level [code]
- FileManagerHack - add a file manager to the editor [code change & file addition]
- LoggedUsersHomepage - different homepage for logged-in users [code]
- UserCleanerModification - keep track of users who are online [action & code change]
- CanadianWeather - insert weather forecasts &/or satellite maps [action]
- StayingLoggedIn - code so that how cookies are dealt with for persistence of logging in is altered [code]
- DescribeUsers - more information about users and their pages [action]
- WikkaWithphpBB - using the phpBB users table for logging-in [code]
- WeatherComReport - weather.com forecasts [action]
- AddThisAction - Display a button to provide your user a shortcut for adding you page to a bookmark-service (like del.icio.us). [action]
Libraries
- HandleCsvData - this library contains functions to handle csv-files. [library]
Actions developed in other Wakka-forks
- Table of Contents (link broken? try this: Table of Contents) Action code for wikini to provide a structured table of contents action with page anchors
- Like other TOC actions I've seen this seems to create anchors as numbers. Quite apart from validity questions (an anchor must be an ID so it cannot start with a digit), this is a bad idea - especially in a Wiki - since such anchors would change with many types of page change, such as addition of a heading or section or slight re-arrangement. Which means you can never create links to those anchors within a page. A better idea is to create anchors based on the actual text of the headings which have a much higher chance of being stable. Yes, a TOC action would be nice - but a better one! (MediaWiki does it right.) --JavaWoman
- I had another action, flexible but a bit tedious : see AnchorAction and a sample result is at my homepage --DotMG
- Tables with formatting Action developed for wikini to provide tables with active page links, colour, etc... (another example)(Be warned...this is not a simple plug-and-play code exercise....although it is pretty straight-forward.... and only means copying in a few lines of code.... but it doesn't work...worse, if you put table code IN to a page it actually breaks the formatter (WSOD....white screen of death, at least in wikka 1.1.4.0) ....although it seems fine with everything else EXCEPT the table code, so it might be a regex problem...but I couldn't get it working (needs one of the whizzes out there I guess) -- Mike)
- I think we should just develop our own (new) table formatting code. Looking at what others are doing (not just Wakka forks) is useful, but then we should not start with copying but write some specs - what do we want to be able to do, short term? long term? Then write code based on those specs. Table markup is complicated enough that you cannot just dive in and write some code and then just tweak it a little. See also the discussions on WikkaTables. --JavaWoman
- I agree with all of what you write. All of this is just intended as a stimulant for development. I was quite impressed with the degree of formatting achieved with wikini and thought it would provide us ideas. --GmBowen
- User Information Action developed for wikini to provide a list of information for a user. I could see how this could be adapted to be useful for admin
- System Information Action developed for wikini to show brief system information
- Include page action Action developed for wikini which includes a page BUT with formatting that might be useful
- I like the formatting idea though we should probably define different classes/default values. --JavaWoman
- Now adapted for wikka (see above), and ready for further development {wink} -- GmBowen
- Slide Show Cycles through a listed series of wikka pages?? (the translation wasn't good).
- No : it create a slide show based on a unique page ; each slide is delimited by h2 titles like in this page : http://www.wikini.net/wakka.php?wiki=Test1PourLeHandlerSlideShow -- CharlesNepote
- WikkaBlog - code to link wakka (not wikka, but easy to modify apparently) to a blog. (There's also a blog embedded in CoMaWiki ....GmBowen has developed one here too (WikkaBlog2 ?) [code]
- Another Calendar - a simple calendar developed & released at wackowiki [action]
- Search Highlighter - originally developed for Wakka Wiki, this highlights the search term on a page after the link on the search page is clicked on. Might be a useful little add-on to wikka.
- Smileys for Spikini - developed for Spikini which is a Wikini fork, there is a developed action for smileys which might be something to translate for use in wikka (others have mentioned wanting smileys). See here.
- It's not an action, actually - more like a filter, a special formatter that gets applied automatcially as long as it's found in the appropriate location. Spikini's plugins are not like Wikka's actions. Anyway, replacing smiley "text" by images really is a formatting process, not an "action" in the Wikka sense at all. --JavaWoman
- oh ya, it's a filter. oops. Don't know what I was thinking writing that....I shoulda looked more closely at the code before I wrote anything here..."filtre" is obviously french for "filter" and the code clearly isn't an action. Ooops, sorry. I'm personally not a "smiley" person at all {grin} so it's not at all high on my list of things to develop for wikka (table markup is WAY before that) but I was trying to provide a resource for others. Comawiki & Uniwakka both also have smileys. Uniwakka obviously is also a filter/formatter of some sort because writing the characters ;-} shows the smiley when the page is saved.
- Wikini has had a handler & action for SVG (Scalable Vector Graphics) developed for it (see here)....which is interesting because somewhere (on a chinese version of wikka or wakka) I remember seeing an SVG-based drawing package embeddable in the wiki. --GmBowen
- How to have a Vertical left-hand-side navigation menu for wikini see here...which looks usable in wikka.
- Browse some time through the many sites on WikkaSites - especially the ones highlighted as having notable layout - and you'll see many are already doing something similar with Wikka, both left-hand menus and right-hand menus. There are very many ways to skin that cat. :) --JavaWoman
Sure, I've seen it elsewhere, but for people at my level or less this gives a good starting point for implementing it. --
- Although I acknowledge that there is resistance in the wikka community to incorporating Captcha as a way of preventing spam, it still seems worthwhile to post this implementation of it into wackowiki (which, for newbies, is a "brother" of wikka, being another fork of wakkawiki -- which means the codebase is similar (but changing)).
Resources for Potential Development
- I found this image generator which will allow a string of formatted math-related text to generate an image with structured formulas. It seems to work pretty well actually, although the formatting code seems to be something that math-folks would appreciate more than most of us (grin).
CategoryUserContributions
A. Why not organize your list in a more clear way: alphabetically or by type of contribution.
B. I personally don't like a section titled:
"Actions Developed for Wikka-related Wikis's not yet Adapted for Wikka":
1) what you call "Wikka-related" should actually be replaced by "Wakka-forks", i.e. WikiEngines that share with Wikka the same ancestry
2) "not yet adapted" seems to imply that such actions shall/should be rewritten/adapted/integrated into future wikka releases. IMO this section title implicitly suggests a very wrong idea. Wikka is sufficiently mature to have its independent development plans - which go further than (or, I would say: "have nothing to do with") integrating other Wakka-forks ideas. So I'd prefer to avoid the somewhat "normative" idea of "not yet adapted" actions.
Seems like Nils agrees with you. Thanks Nils. Wakka-forks is better I agree.....the list was more so that we didn't re-invent wheels rather than suggesting that they needed to be adopted. OTOH, our wikka development community is relatively small compared to some other forks....so who knows where interesting and useful ideas might come from. By saying "not yet adapted" I was suggesting that (potential) users trying to get an idea of what was possible with wikka would realize that there was functionality that was possible, but not yet exploited, in wikka....altho' I accept the critique that the phrase was poorly chosen. When I adopted wakka/wikka originally I had *no* idea about the possibilities it offered (so I kinda lucked out choosing it), and this page is intended to provide a broader perspective on potentials....I don't see it as "my page" tho' (it's why I reverted the ownership to public actually)....I just happen to be most active with it recently (avoiding marking....LOL). Cheers,
I tweaked my recentchanges a bit to distinguish between minor and major changes to pages. Someone requested something like that in ticket 122, so I wanted to post my little hack here. I had to change the handler edit, the action recent changes and some lines in wikka.class.php. Now I wonder which template to take. One for the handler, one for the action and squeeze the rest in somewhere or just one page?
If I'm understunding, linc to action activate php-instructiion in the action file.
Will other (not Wakka) actions work or I need to modify it?
What modifications will be needed (what Wiika-files I must modificate)?
I'm interesting it, so:
1. I would like insert actions from WackaWiki (http://wackawiki.com).
2. Would be grate to insert Wysiwyg-editor (like here: http://72ag.ru/wackow/?wakka=HomePage)
Sorry for my english :-)
Most actions will tell you exactly what's needed to install them and activate them (usually, you place them in the actions/ directory and then invoke them right inside of a Wikka page using the {{action}} syntax).
There is a library of functions in libs/Wakka.class.php that can be used in your actions. Your best bet might be to look at some of the simpler actions that have been developed and use one of those as your model for a new action. That's the way I learned how to write actions, and I'm sure others learned the same way!
Regarding a WYSIWYG-editor: first you would need to disable WikiEdit in the config. Then you'll need to play with actions/header.php and handlers/page/edit.php to enable another editor, but I fear it will need a lot of work.