Topic on Project:Support desk

Should I use MediaWiki for my project?

5
FurkanIpek (talkcontribs)

Hello guys,

I am involved in an internship. My duty is to create a demo for a wiki which is a repository for process components. I am not sure about involving in such a complicated environment as MediaWiki and I really can use some advice. I have a different skin design than the one MediaWiki uses, also I need to add some rather easy functionalities to wiki which I do not need help to implement. However, I need some of the functionalities of MediaWiki like access restrictions, sign up etc. Ultimately, an experienced programmer is going to write the real wiki with full functionality using MediaWiki yet I have to be able to demonstrate the functionalities in a rather easy way.

For instance, how do I remove all of unnecessary buttons and links from my page and add my own buttons. Where is the code of my Main_Page or any other page I added by simple entering the name after the ~/index.php? So far I only could learn how to create a new skin, which is rather hard because it is not simply writing a css code. If there is a way to code the way I want, how much is it harder than coding the same from scratch using just html, css and js. I didn't install MediaWiki from the git, is this a problem? ANY idea will be appriciated, I am really new to software engineering and just finished my first year of BSCS. I don't want to screw things up in my very first job:)

88.130.104.217 (talkcontribs)

Hi!

MediaWiki has a broad user base, it is used in many places, has much software built around it and - compared to other wiki systems - it will be rather easy to extend it the way one wants and to get help should that be necessary. So if you say you want a wiki, then you should really use MediaWiki and not something else.

If you want to create an own skin, then you can start from scratch (hard) or take an existing skin (many are provided for download from their maintainers) and change this one the way you like.

As for the functionalities you mention: Sign up and so on are present in MediaWiki, but when it comes to access control you should read Manual:Preventing_access. Bottomline: MediaWiki is not made for access control.

What do you mean with "buttons"? The buttons "Page", "Edit", "History" and so on? Can be hidden with CSS. Own buttons can be added via hooks, here is a list of all available hooks.

The code of a certain page can be viewed using the "Edit" button. If you in contrast mean the template (which is used for every page), then you should have a look at the according skin file - with the default that's skins/Vector.php.

What exactly do you mean with "process components"? Some things and each one should have its own page with information, maybe this information should be displayed based on a template? Something like that?

FurkanIpek (talkcontribs)

Thank you for your answer, it answered a lot.

And as for the process components, indeed they are all going to have their own pages, yet should be grouped and listed in separate pages before user reaches the specific page.

Do I have to write the CSS for hiding buttons separately or should I change vector.php? By buttons I meant every link on the menu located at the left or discussion session etc.

Is it possible to show/hide some buttons depending on login status?

88.130.75.138 (talkcontribs)

A grouping or listing of pages is possible, if you put them in Categories. That basically allows you to create a kind of category tree: Main categories, sub-categories, (sub-subcategories if you like, ...) and then the actual pages.

For CSS it depends: If you say you basically want to use the Vector skin, then you can simply add some lines of CSS to the wiki page MediaWiki:Vector.css in your wiki. However, if you basically want to have another, an own skin, then you should add an own skin with its own files in the filesystem and then you can (you better should) add the CSS in these skin files directly.

FurkanIpek (talkcontribs)

For the sake of help, and for confessing such an idiot I am, I am gonna write here how I included page specific tabs in Vector skin. I dug up around the net to find a solution, instead of just going to Vector.php and understanding the code.

firstly add this line to the Vector.php, above the html code:

$this->data['title'] = $this->getSkin()->getTitle();//helps you get the title of the current page, i.e. MainPage

then, add this code to the div "mw-navigation". I changed the left-navigation's code, you can add it whereever you like:

<?php if( $this->data['title'] == "Page-Title" ) { ?>
write html code here
<?php } ?>

Generally, sounds like a bad solutions since case specific code is not favored in vector.php, like everything is automated with a lot of variables thus ( x == "page-title") seems funny. However, there may be some cases where this solution suits just well.

Reply to "Should I use MediaWiki for my project?"