Difference between revisions of "Extension talk:Wikiskin.php"

From Organic Design wiki
(Private wiki & Public www)
m (Setup Questions)
 
(25 intermediate revisions by 7 users not shown)
Line 1: Line 1:
Where can I see a page that uses this extention? --[[User:Rob|Rob]] 14:58, 6 Apr 2007 (NZST)
+
Where can I see a page that uses this extension? --[[User:Rob|Rob]] 14:58, 6 Apr 2007 (NZST)
 
:I'm testing it on [[WikiFS:]] --[[User:Nad|Nad]] 15:01, 6 Apr 2007 (NZST)
 
:I'm testing it on [[WikiFS:]] --[[User:Nad|Nad]] 15:01, 6 Apr 2007 (NZST)
 
Has anyone an more detailed demo or description for setting up the wikiskin? --[[User:nope]] 14.5.2007
 
Has anyone an more detailed demo or description for setting up the wikiskin? --[[User:nope]] 14.5.2007
 
:It's still in beta state, but is working ok, just save the code into a file and ''include'' the file from your localsettings.php, but make sure your skin article is created first (the name of the article is set in $wgWikiSkin, the default name for the article is ''WikiSkin''). OrganicDesign and our other wikis use it, [[OrganicDesign:Default-skin]] is the ''$wgWikiSkin'' article on it. We're just using it to replicate the standard monobook layout currently, but it's been developed for use with [[MW:Extension:Wiklets]] which is a desktop-like skin where different articles and forms work like windows on a desktop. --[[User:Nad|Nad]] 21:50, 14 May 2007 (UTC)
 
:It's still in beta state, but is working ok, just save the code into a file and ''include'' the file from your localsettings.php, but make sure your skin article is created first (the name of the article is set in $wgWikiSkin, the default name for the article is ''WikiSkin''). OrganicDesign and our other wikis use it, [[OrganicDesign:Default-skin]] is the ''$wgWikiSkin'' article on it. We're just using it to replicate the standard monobook layout currently, but it's been developed for use with [[MW:Extension:Wiklets]] which is a desktop-like skin where different articles and forms work like windows on a desktop. --[[User:Nad|Nad]] 21:50, 14 May 2007 (UTC)
 +
 +
Brilliant! Question: Why did you decide to put the skin variables like <nowiki>{{ACTIONS}}</nowiki> into the global MediaWiki variable namespace instead of using wikiskin-specific tags along the lines of <nowiki>@@ACTIONS@@</nowiki>? [[User:Ehartwell|Ehartwell]] 00:07, 11 July 2007 (NZST)
 +
:I want them to be expanded by the wiki-parser as usual, so they need to be either mediawiki variables or parser-functions. --[[User:Nad|Nad]] 09:41, 11 July 2007 (NZST)
  
 
== Private wiki & Public www ==
 
== Private wiki & Public www ==
Thie following LocalSettings code is the current way I'm using to server public website or private wiki based on subdomain (it must be added after the WikiSkin extension is installed. If in ''wiki'' subdomain, then users are required to login to view any page at all. Once logged in, standard wiki skin is used with all personal links, and actions. If in the ''www'' subdomain, actions, personal and catlinks etc are not sent to client, and all actions except ''view'' and ''raw'' are disabled, there is no login required, but any pages not in the ''Public'' category return a ''404''.
+
See [[Maintaining websites with a wiki]]
<php>
+
 
# WIKISKIN
+
== Propsed variables to add ==
include("extensions/WikiSkin.php");
+
*Anonymous
$wgWikiSkinArticle = 'Zenovia/WikiSkin';
+
*Regexp
 +
 
 +
see [[MW:Extension talk:WikiSkin]]
 +
 
 +
== Edit icons ==
 +
 
 +
I like this extension becasue it enables the use Treeviews and I have a complex nested subject taxonomy, 
 +
 
 +
===Suggestions===
 +
It would be very nice to see the edit icons when editing a pages.
 +
 
 +
===FCKeditor===
 +
I am also trying to get [http://mediawiki.fckeditor.net/index.php/FCKeditor_integration_guide Mediawiki FCKeditor extension] to work on my site.
 +
Next step would be have Wikiskins, Treeveiws and FCKeditor working together
 +
 
 +
==Talk continues==
 +
Made a new article called [[Blog-skin]], and trying to activate it with [http://www.organicdesign.co.nz/News?skin=Blog-skin this URL]. Checking out the [[Extension:Wikiskin.php|extention code]], seems this line is defaulting to WikiSkin as the skin article.
 +
<pre>
 +
$wgWikiSkinArticle = isset($_REQUEST['skin']) ? $_REQUEST['skin'] : 'WikiSkin';
 +
</pre>
 +
But this article does not exist. Is $wgWikiSkinArticle set in LocalSettings?
 +
--[[User:Rob|Rob]] 22:48, 16 September 2007 (NZST)
 +
 
 +
== Setup Questions ==
 +
 
 +
Hello and thank you for such an interesting extension. I am trying to get this running on my wiki, but I am having some issues.
 +
 
 +
I've loaded the extension, activated it in localsettings, and added the recommended Mediawiki:WikiSkin article. However, when I view pages, they all look like the classic skin layout instead of the Monobook layout. I noticed in the WikiSkin article that it references the division IDs of "column-content", "content", "bodyContent", and "column-one". On my wiki, these are defined in /skins/monobook/main.css, and it is this definition that makes the columns appear where they do in Monobook. However, I can't see where your extension is loading /skins/monobook/main.css and I can't see where else it might be loading these division specifications to show a skin which behaves like monobook.
  
if (!ereg('^wiki.',$_SERVER['HTTP_HOST'])) {
+
Also, is it possible to have this extension only activate if a user has a certain skin selected in their preferences? I'd like to test this without affecting all of my users. It seems to me that this might be doable with a small change in the function wfApplyWikiSkin and a dummy WikiSkin skin created to make WikiSkin show as an option in preferences.
if ($_REQUEST['action'] != 'view' && $_REQUEST['action'] != 'raw') $_REQUEST['action'] = 'view';
 
}
 
  
function wf404() {
+
Thank you!
header('HTTP/1.0 404 Not Found');
 
$err = '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>404 Not Found</title></he$
 
<body><h1>Not Found</h1><p>The requested URL was not found on this server.</p></body></html>';
 
if (in_array('Content-Encoding: gzip',headers_list())) $err = gzencode($err);
 
echo $err;
 
die;
 
}
 
  
$wgHooks['ArticleAfterFetchContent'][] = 'wfPublicCategory';
+
- [[User:Tdoyle|Tdoyle]] 07:28, 4 November 2007 (NZDT)
function wfPublicCategory(&$article,&$text) {
 
$t = $_REQUEST['title'];
 
if ($article->mTitle->getText() != $t) return true;
 
if (eregi('\\.(css|js)$',$t)) return true;
 
if (!ereg('^wiki.',$_SERVER['HTTP_HOST'])) {
 
preg_match_all('/\\[{2}(category:.+?)(\\|.+?)?\\]/i',strtolower($text),$cats);
 
if (!in_array('category:public',$cats[1])) wf404();
 
}
 
return true;
 
}
 
  
# No anoymous users allowed
+
P.S. I think I figured it out - the solution appears to be to copy the contents of /skins/monobook/main.css as well as any content at Mediawiki:Monobook.css to Mediawiki:WikiSkin.css.
$wgExtensionFunctions[] = 'wfLocalSettingsArticle';
+
:Have a look at [[Freelance]] for an example. --[[User:Rob|Rob]] 09:51, 4 November 2007 (NZDT)
function wfLocalSettingsArticle() {
+
::Yes, the purpose of wikiskin is to allow all skin features (content and CSS) to be defined in-wiki. I'll eventually add the ability to turn wikiskin on or off from preferences, but for now you could add a hack into the ''wfSetupWikiSkin'' function which bails if the user isn't you,
global $wgUser,$wgServer;
+
<php>
if (ereg('^wiki.',$_SERVER['HTTP_HOST'])) {
+
global $wgUser;
if ($wgUser->isAnon() && $_REQUEST['title'] != 'Special:Userlogin') {
+
if ($wgUser->getName() != 'You') return;
if (array_key_exists('live',$_REQUEST)) die;
 
header("Location: $wgServer/Special:Userlogin");
 
}
 
}
 
else {
 
$t = Title::newFromText($_REQUEST['title']);
 
if (is_object($t) && !$t->exists()) wf404();
 
}
 
}
 
 
</php>
 
</php>
 +
 +
== Example broken ==
 +
Looks like the [{{fullurl:Freelance/Demo|skin=Freelance}} example here] has stopped working. Seems to be ignoring the ''skin'' key. --[[User:Rob|Rob]] 09:56, 4 November 2007 (NZDT)
 +
:Fixed - it was when LocalSettings was re-organised the skin setting got put after the wikiskin extension include, but should be before. --[[User:Nad|Nad]] 10:38, 4 November 2007 (NZDT)

Latest revision as of 21:45, 3 November 2007

Where can I see a page that uses this extension? --Rob 14:58, 6 Apr 2007 (NZST)

I'm testing it on WikiFS: --Nad 15:01, 6 Apr 2007 (NZST)

Has anyone an more detailed demo or description for setting up the wikiskin? --User:nope 14.5.2007

It's still in beta state, but is working ok, just save the code into a file and include the file from your localsettings.php, but make sure your skin article is created first (the name of the article is set in $wgWikiSkin, the default name for the article is WikiSkin). OrganicDesign and our other wikis use it, OrganicDesign:Default-skin is the $wgWikiSkin article on it. We're just using it to replicate the standard monobook layout currently, but it's been developed for use with MW:Extension:Wiklets which is a desktop-like skin where different articles and forms work like windows on a desktop. --Nad 21:50, 14 May 2007 (UTC)

Brilliant! Question: Why did you decide to put the skin variables like {{ACTIONS}} into the global MediaWiki variable namespace instead of using wikiskin-specific tags along the lines of @@ACTIONS@@? Ehartwell 00:07, 11 July 2007 (NZST)

I want them to be expanded by the wiki-parser as usual, so they need to be either mediawiki variables or parser-functions. --Nad 09:41, 11 July 2007 (NZST)

Private wiki & Public www

See Maintaining websites with a wiki

Propsed variables to add

  • Anonymous
  • Regexp

see MW:Extension talk:WikiSkin

Edit icons

I like this extension becasue it enables the use Treeviews and I have a complex nested subject taxonomy,

Suggestions

It would be very nice to see the edit icons when editing a pages.

FCKeditor

I am also trying to get Mediawiki FCKeditor extension to work on my site. Next step would be have Wikiskins, Treeveiws and FCKeditor working together

Talk continues

Made a new article called Blog-skin, and trying to activate it with this URL. Checking out the extention code, seems this line is defaulting to WikiSkin as the skin article.

$wgWikiSkinArticle = isset($_REQUEST['skin']) ? $_REQUEST['skin'] : 'WikiSkin';

But this article does not exist. Is $wgWikiSkinArticle set in LocalSettings? --Rob 22:48, 16 September 2007 (NZST)

Setup Questions

Hello and thank you for such an interesting extension. I am trying to get this running on my wiki, but I am having some issues.

I've loaded the extension, activated it in localsettings, and added the recommended Mediawiki:WikiSkin article. However, when I view pages, they all look like the classic skin layout instead of the Monobook layout. I noticed in the WikiSkin article that it references the division IDs of "column-content", "content", "bodyContent", and "column-one". On my wiki, these are defined in /skins/monobook/main.css, and it is this definition that makes the columns appear where they do in Monobook. However, I can't see where your extension is loading /skins/monobook/main.css and I can't see where else it might be loading these division specifications to show a skin which behaves like monobook.

Also, is it possible to have this extension only activate if a user has a certain skin selected in their preferences? I'd like to test this without affecting all of my users. It seems to me that this might be doable with a small change in the function wfApplyWikiSkin and a dummy WikiSkin skin created to make WikiSkin show as an option in preferences.

Thank you!

- Tdoyle 07:28, 4 November 2007 (NZDT)

P.S. I think I figured it out - the solution appears to be to copy the contents of /skins/monobook/main.css as well as any content at Mediawiki:Monobook.css to Mediawiki:WikiSkin.css.

Have a look at Freelance for an example. --Rob 09:51, 4 November 2007 (NZDT)
Yes, the purpose of wikiskin is to allow all skin features (content and CSS) to be defined in-wiki. I'll eventually add the ability to turn wikiskin on or off from preferences, but for now you could add a hack into the wfSetupWikiSkin function which bails if the user isn't you,

<php> global $wgUser; if ($wgUser->getName() != 'You') return; </php>

Example broken

Looks like the example here has stopped working. Seems to be ignoring the skin key. --Rob 09:56, 4 November 2007 (NZDT)

Fixed - it was when LocalSettings was re-organised the skin setting got put after the wikiskin extension include, but should be before. --Nad 10:38, 4 November 2007 (NZDT)