Wiki source for CodeContributions

Show raw source

=====User-contributed extensions for WikkaWiki=====

>>==Themes and plugins==
~-**[[Docs:InstallingPlugins | How to use the plugins folder]]**
~-**[[Docs:WikkaThemes | Installing themes]]**
==See also:==
~-[[WelcomeDeveloper | Introducing Wikka Development]]
~-[[UnderDevelopment | Current contributions by the Wikka Development Team]]
~-[[PluginsInDevelopment | User-contributed extensions under development]]
~-[[ProgrammingHelp | Help needed for actions in development]]
~-[[CategoryUserContributions | Category for user-contributions]]

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 [[Docs:WikkaReleaseNotes | 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 [[Docs:PageNamingConvention | page naming convention]];
~- use the appropriate [[WikkaSiteTemplates | template]] to document your contribution;
~- add a CategoryUserContributions link to the page;
~- pop in [[TheLounge | #wikka]] to meet other developers;
====User-contributed modules/extensions for WikkaWiki====

===Administrator Related===
1) GmBowenAdminPageControlTool - erase history, hide page, delete page (menu system) [code addition]
1) [[GmBowenAdminPageControlTool | List Hidden Pages]] - list the pages hidden by the admin control toll [action]
1) DescribeUsers - an action which provides a list of information about each user [action]
1) PageAdminPrune is an extension to PageAdminAction that allows for pruning of page revisions [action]
1) RefactorWiki - allows renaming of pages & all associated links [code]
1) ActiveDirectory - a first attempt toward a corporate single sign on... [code]
1) InstallableActions - an Installer for actions
1) ChecklinksAction - a link checker for internal (pages, actions, inter-wiki links) and external (web pages, files) links [action]
1) ActivitySummaryAction - reports page edits and new users for a given period and includes a command-line reporting option [action]
1) 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]

1) [[GmBowen | Search Comments]] - code addtion for textsearch.php that allows searching of comments [code addition]
1) UserCommentsAction - list of pages commented on by any user (part of UserAdmin) [action]
1) PagedComments - code to allow the user to set the pagination of comments (useful for faster loading of initial page) [code]
1) CommentsFormatting - allows the usage of some wikka-markup in comments [code]
1) OnegWRAllowComments - Reverse action of ""{{nocomments}}"" [action]
1) [[SpamBlacklist]] - Plugin to blacklist spam, based on a list of regular expressions
1) ReCaptchaCommentForm - Integrates ReCaptcha plugin with wikka comment-handling

1) OnegWRHide - This formatter would allow you to hide/not display a block from the source [formatter]
1) [[CalcInfo | calc]] - This action allows you to write calculations (with variables) and write out the result.

1) [[GmBowen | Data Base Status]] - action modified from one at wikini which shows the status of the wiki database tables [action]
1) PhpMyEdit - generates PHP code for displaying/editing MySQL tables [code generates actions]
1) MigrateFromWackoWiki - Perl script to convert Wacko DB entries to a //newly created// Wikka DB
1) BookmarkManager - Manage bookmarks from one centrally accessible Wikka server

===Data Exchange===
1) ShowCsv - shows the content of a *.csv-file ona wikka-page [action]
1) ImportUBB - conversion between wikka and UBB [javascript]
1) MoonEdit - brief overview of the exchange between MoonEdit and Wikka [+action]
1) FileexportAction - exports a selection of wiki pages into a self-contained HTML or XML file [action, handler]
1) WebGet action - retrieves data from a URL and place the content in the current Wikka-page [action]

1) EmailActionInfo - prints a spamsafe email-link [action]
1) RandomMail - generates fake email-addresses [action]

1) FileModificationTime - prints the modification date of a file on the server [action]
1) FilesManagementSolution - provides another (simpler) way to manage attachments [actions]+[handler]
1) [[DennysAttachmentsActionInfo | Attachments]] - yet another way to manage attachments [actions]+[handler]
1) [[SmaugDragon | Fileview]] - Easy way to display a given set of files on the server [action]

1) BingoAction - prints a bingo card based on a word-page. [action]

1) [[GmBowen | Gallery]] - show image thumbnails in a particular directory [action] (designated in various ways, including interactively, by wikka owner)
1) [[GmBowen | Graphics Tools]] - file uploader, image approval system, etc. [action & file addition]
1) BannerMaker - allows placing colored banners on pages to enhance formatting/layout [action & file addition]
1) 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]
1) EnhancedImageAction - add support of WIDTH & HEIGTH parameters [action]
1) Mp3Player - a simple player for mp3 files if a url is added. [code & swf file]
1) ImageListing - lists the directories & files (the latter with links) uploaded to the uploads directories specified in wikka.config. [action & class code]
1) ImagePop - displays a thumbnail image that when clicked opens a popup with the full size image. [action]
1) [[ | cp]] - Easy integration of pictures from a coppermine picture gallery
1) [[RicardoPedroso | Wikka Gallery]] - A wikka gallery. [action]
1) [[FlashMindMap | Display a Freemind map]] with a Flash plug-in. [action] Need optimizations.
1) AjaxGallery - a normal gallery - at first sight - that generates thumbnails and uses Ajax to show the larger version of the pictures [action]
1) 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
1) SlideshowGallery - a gallery script combined with a neat javascript slideshow [action]
1) YouTube - embed a ""YouTube"" video quickly and easily using the URL provided in the 'About this video' section of the video page. [action]
1) QuickTimeAction - quickly embed any ""QuickTime"" compatible media file in your wiki. [action]
1) [[IFilmAction | iFilm]] - embed a ""iFilm"" video quickly and easily. [action]
1) [[LastFMAction | LastFM Widgets]] - embed the widgets easy in your wiki. [action]
1) GoogleVideo - embed a ""GoogleVideo"" [action]
1) [[ | Gallery2 Embed]] - Embedding [[ | Gallery2]] into Wikka. [action]
1) BigImageGalleryAction - one big image surrounded by all the thumbnails. Clicking one thumb will change the content of the main image accordingly. [action]
1) [[ | moseasymedia]] embeds pretty much any kind of video, including YouTube, Google, metacafe ... with one short tag. { {moseasymedia media=link} } [action]
1) VimeoAction - This really simple action inserts a Vimeo video into a page by loading it into an iframe. [action]

1) [[GmBowen | Google Language Translation]] - addition of code for footer.php for adding language translation [code addition]
1) MultiLanguageMenus - Provides a possibility for menus to be changed according to language specified. Based on WikkaMenus [database table, 2 actions, code addition]

1) OnegWRCol - A way to print text in columns via <div> tags [action]
1) SidenoteActions - a quick way to display a warning, note or tip sidenote. [actions, css, code]
1) SidenoteActionsTormodHaugen - a modified version of SidenoteActions that modifies wikka.css and combines the actions into a single action. [action, css, code]
1) InLineComments - add in-line comments to written text that appear in a formatted tooltip. [code & link]
1) FootnoteAction - manages footnotes displayed at the bottom of the page [action, code, css]

1) [[KicktheDonkey | Links to the same host]] - prevented from being marked as external [code addition]
1) [[AddLinkAction | addlink]] - will allow you to fast add links in a structured way [[AddLinkActionInfo | Info]] [action]
1) 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]
1) 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]
~1) OpenExternalInNewWindow - allows you to force external links to open in a new window [code]
1) ShareOnLinkedIn - Share Page on ""LinkedIn"", just include the action in your page and your users will be able to submit the link to ""LinkedIn"".

1) WikkaWithphpBB - using the phpBB 2.x users table for logging-in [code]
1) WikkaWithphpBB3 - using the phpBB 3.x users table for logging-in [code]
1) 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
1) [[LDAPauthentication]] - use a LDAP directory to validate login/password [code]

1) OnegWRTree - Finds pages within the current page name and builds a menu with it [action]
1) WikiBreadcrumb - Shows a "trail" of your previously visited wiki pages [code & field addition]
1) ParentAction - Allows for standard "breadcrumb trail" (i.e., allows for hierarchical classification schemes) [action, table]
1) PopOutSideMenu - provides a menu that "pops out" from the left side for both IE & Firefox
1) TabsMenu - Get tabs on your pages
1) CategoryTree - a dirty hack to show all categories as a tree

===Text-Communication Tools (messageboards, blogs, mail)===
1) SuggestionsBoard - allows to include a message-board to a page [action & new table]
1) WikkaForum - allows small discussion forums to be placed on any wiki page [action & new table]
1) [[RichardTerry | Blog]] - action which includes a series of wikka pages into a single blog. [action & code changes]
1) WikkaBlog - code to integrate wikka with blog programs [action/code]
1) WikkaBlog2 - action to provide a blog (w/ wikka formatting & submission commenting) on a wikka page [action, code & new tables]
1) WikkaMail - a Private Messaging System to allow communication between individual wikka users [action, code & new tables]

1) [[GmBowen | Erase History]] - auto erase history of page [action]
1) [[GmBowen | My Pages menu]] - a horizontal listing of pages you own [action]
1) [[GmBowen | Show Page Code]] - adds link so that raw page code can be shown easily [action & code addition] (builds on Mod042fShowPageCodeHandler) [action]
1) [[GmBowen | Owned Pages]] - code addition for textsearch.php that shows pages owned by search if search term is registered user [code addition]
1) [[GmBowenRecentEditCheck | Recent Edit Check]] - indicates in the header if a page has been edited recently (to reduce conflicts in editing) [code addition]
1) [[GmBowenCounter | Page Hit Counter]] - a counter to record how many times a page has been loaded [action & code addition]
1) [[TRBCounter | 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]
1) UserPagesAction - list the pages owned by any user (part of UserAdmin) [action]
1) [[NotifyOnChange | Notify On Change]] - code to allow receiving feedback by email when a page is edited [code]
1) [[GmBowen | Column Making]] - Simple code to allow a user to place 2+ columns of text on a saved page [actions]
1) MostVisited - indicates which pages (out of those with [[GmBowenCounter | this]] or [[TRBCounter | this]] counter modification added) have been visited most often [action]
1) [[TRBMostVisited | MostVisited (2)]] - shows pages visited most often - an extended version of the above code (requires [[TRBCounter | this counter modification]]) [action]
1) WikkaMenus - a system of creating custom header and footer menus in wikka [code]
1) CloneAction - clone another page (also CloneHandler) [action]
1) [[FormattedIncludeAction | Formatted Include]] - modification of wikka include action so there are formatting controls [action & css code]
1) AutoReplace - allows to display ""WikiWords"" as Wiki Words depending on the user's choice - defaulted for guests [code]
1) UserMenus - another way to have users managing their personal menus - different from WikkaMenus in many ways, it only offers one menu per user [code]
1) AnchorAction - Anchor(s) in wikka-pages [action, code]
1) DeleteSpamAction - modification/translation of wikini action that allows removal of contribution by user IP [action & code]
1) BacklinksHandler - displays a list of pages linking to the current page [handler].
1) AbbreviationAction - A simple action to use the <abbr> and <acronym> html tags [action, css]
1) [[EditSaveGif | Reminder to save]] - Animated gif files & a simple code addition to remind users to save while editing [code & images]
1) RobotFriendly - Makes SearchEngines ignore, and not index, deleted pages. [code]
1) RecentChangesPlus - additional options for the recentchanges action [action]
1) [[JeroenJansen | 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]
1) [[PageIndexByLetterSuggestion]] - Allowing Columns on Wikka Pageindex action [code]
1) [[FontActionInfo]] - renders text with a font located on the server [action]
1) AcronymFormatter - formatts acronyms based on a defined list [formatter]
1) [[SpectreMoo | Fortune]] - Displays a random one-line text from a file or a wiki-page [action]
1) SimpleTableOfContents - Adds support for table of contents. [code]
1) SpellcheckHack - Uses aspell and spellerpages to provide spell checking of wiki pages [code, plugin, files]
1) MetaRefresh - Code snippet explaining how to setup META refresh for your homepage [code]
1) GoogleSitemap - Generates a sitemap for Google's service.
1) [[CustomPageTitleTag | Custom Page Title Tag]] - modification which allows setting a specific TITLE tag inside HEAD for every WikiPage. Useful for Search Engines. [code]
1) [[WikipediaAction | WikiPedia Action]] - An action that displays [[ | WikiPedia]] content in your page.
1) [[WordcountAction | Word Count Action]] - Quick and dirty word count action for text-only pages. [action]
1) [[RyeBreadDraftsEventNotification | 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
1) [[YodaHome | WikiEdit Version 3.01]] - Wikka-ready modified version of the Editor used for editing Wiki pages with enhanced compatibility [plugin]
1) [[SearchHighlighter | Highlight Searched-for Text]] - Highlights text in your page that was searched for with TextSearch, Google or Yahoo.
1) [[HTMLHandler]] - Export pages to HTML with inline CSS (excluding headers, footers, comments, etc.) [handler]
1) [[MinorEditHack]] - Allows users to mark edits as "minor changes" which are not required to be shown in ""RecentChanges""
1) [[SpamBlacklist]] - Plugin to blacklist spam, based on a list of regular expressions
1) [[LinkcountAction]] - Count links in a page. [action]
1) [[StubText]] - Insert boilerplate stub page explanation. [action]
1) [[UnCategoryAction]] - Display pages without category of the wiki. [action]
1) [[InheritACL]] - Modification to allow new pages to inherit the ACLs of the page from where it has been created.
1) [[StructDataAction]] - Add structured data items on a page and perform database-style requests on them [action]
1) ChangesTeaser action - Display a very much simplified 'Recent Changes' listing (probably on front page). [action]
1) [[Slideshow2Handler]] - Display a page as a slideshow [handler, code]
1) [[RegexpindexAction]] - Display a list of pages whose tag name matches a given pattern [action]
1) [[EditDiff]] - Display a diff between the current edit-draft of a page and the last saved revision
1) [[RelatedPagesAction | Related Pages]] - Displays a list of links to related pages on the current page. [action & code]
1) CKeditor4Wikka - Edit Wikka with the Html WYSIWYG CKeditor, and convert the Html output into wikitext before saving in DB! [handler addition & formatters code]
1) WikkaWikiEMailNotifications - Notifys users on page changes via email, configurable per page in the ACL lists by the page owner. Based on NotifyOnChange [code]
1) [[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.
1) [[WikiPageWatch]] - Another page watcher, using the plugin system (mostly) to email opted in users for page changes and comments.
1) [[AutoRefreshFromBody]] - Specifies that a page should to auto-refresh based on a tag within the body of the page. [code & tag]

1) [[UserRegistration | Control Registration]] - code so that the administrator can control whether registration is allowed, not allowed or allowed only with a password [code]
1) AutomaticUserPageCreation - allows an admin to have the user-pages automatically created after registration [code]
1) FreeCap CAPTCHA - adds a CAPTCHA to the registration process to sort out the real humans
1) RecaptchaRegistration - plugin action integrates ReCAPTCHA challenge into registration process

1) [[GmBowenCalendar | Year Calendar]] - add a year-long calendar to your wikka [action & code addition]
1) [[GmBowenWikkaAsPIM | Scheduler]] - code to have a day scheduler to keep track of appts, etc. With day view & monthly view. [action & code addition]
1) [[GmBowenWikkaAsPIM | Task Manager]] - use the wikka as a structured task manager [action]
1) [[TimeWithOffset]] - display the current server time, with optional offset [action]

1) Skins - create/modify/change skins using WikkaSkinEditor, WikkaSkinSelector, [[MySkin | MySkin Action]], WikkaSkinsRepository (see TestSkin) [actions & code]

1) OnegWRCsv - This formatter would allow you to convert inline csv data into a table [formatter]
1) SimpleTables - This formatter modification uses wiki markup to create simple tables. [code change]

1) GmBowenSpellchecker - a simple text-file based (english) spellchecker for the editor [code & file addition]
1) GmBowenUnitConverter - converts between different units (e.g., ounces to milliliters) [action]
1) FeedbackActionUpgrade - allows the admin to send feedback to the email of any user (part of UserAdmin) [action]
1) GroupManagement - allows to manage ACLs at User Group level [code]
1) ACLsWithUserGroups - an alternative to manage ACLs at User Group level [code]
1) FileManagerHack - add a file manager to the editor [code change & file addition]
1) LoggedUsersHomepage - different homepage for logged-in users [code]
1) UserCleanerModification - keep track of users who are online [action & code change]
1) CanadianWeather - insert weather forecasts &/or satellite maps [action]
1) StayingLoggedIn - code so that how cookies are dealt with for persistence of logging in is altered [code]
1) DescribeUsers - more information about users and their pages [action]
1) WikkaWithphpBB - using the phpBB users table for logging-in [code]
1) WeatherComReport - forecasts [action]
1) [[AddThisAction]] - Display a button to provide your user a shortcut for adding you page to a bookmark-service (like [action]

1) HandleCsvData - this library contains functions to handle csv-files. [library]

====Actions developed in other Wakka-forks====

1) [[ | 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
1) [[ | 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 ....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
1) [[ | 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
1) [[ | System Information]] Action developed for wikini to show brief system information
1) ++[[ | 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
1) [[ | 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 : -- CharlesNepote
1) 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]
1) [[ | Another Calendar]] - a simple calendar developed & released at wackowiki [action]
1) 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.
1) 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.
1) 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
1) 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. --
1) 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====

1) 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).

Valid XHTML :: Valid CSS: :: Powered by WikkaWiki