[closed] New plugin: Pagemanager_XH

Third Party Plugins to CMSimple - how to install, use and create plugins

Moderator: Tata

cmb
Posts: 13338
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

[closed] New plugin: Pagemanager_XH

Post by cmb » Thu Jun 23, 2011 10:11 pm

Hello community,

I want to announce a new CMSimple plugin: Pagemanager_XH

Pagemanager_XH simplifies the administration of pages of a CMSimple installation. For more details and download visit http://www.cmsimplewiki.com/doku.php/pl ... manager_xh

Christoph
Last edited by cmb on Tue Jul 05, 2011 2:12 pm, edited 1 time in total.
Christoph M. Becker – Plugins for CMSimple_XH

jerry
Posts: 177
Joined: Fri Jul 25, 2008 8:54 pm
Location: Denmark
Contact:

Re: New plugin: Pagemanager_XH

Post by jerry » Fri Jun 24, 2011 10:15 pm

Hi cmb

I can't test it because it conflicts with my other plugins that loads jQuery. You have to seek $hjs string to find out if some other plugins already loaded jQuery. It is becoming a common problem in CMSimple environment. Right now your plugin conflicts with Holger lb_Gallery, Newsbox Rotator version 2 (which will be released very soon) and some tocs. This are the conflicts that I know and there are probably even more.

It's the way I read jQuery

Code: Select all

	if (!preg_match('/<.*jquery([.|-]{0,1}\d*){0,3}([.]{0,1}[min|all|pack]*){0,2}[.]js.*>/i', $hjs)) {
		$hjs.='<!-- include jQuery library -->
		<script type="text/javascript" src="'.$pth['folder']['base'].$cf['plugins']['folder'].'/'.$plugin.'/js/jquery.min.js"></script>
		<script type="text/javascript"> jQuery.noConflict();</script>';
	}
May be you can use it too.
Perhaps it is time to agree in this forum on general rules for entry of jQuery and other scripts in CMSimple plugins.
jerry
jerry/simplesolutions

cmb
Posts: 13338
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: New plugin: Pagemanager_XH

Post by cmb » Fri Jun 24, 2011 11:19 pm

Hello Jerry,

thanks for the feedback, and the valuable information that you've given me. I'm not very experienced with Javascript (and less with jQuery). I merely had to integrate jQuery because it's a requirement for jsTree (on which my code heavily relies). Now it's really late, so I will release a new version ASAP (I'll announce it here). Especially the call to jQuery.noConflict() gives me some headaches, because I have to check, if this is possible without "rewriting" jsTree. :(

Thanks for your supplied code; it'll give me the kick in the right direction. But: shouldn't it ideally use a preg_replace() to use the newest jQuery version available? Maybe some plugin needs a newer version than the first one that's grabbed by the plugin loader?
jerry wrote: Perhaps it is time to agree in this forum on general rules for entry of jQuery and other scripts in CMSimple plugins.
But some help is on the way. In http://www.cmsimpleforum.com/viewtopic.php?f=29&t=3194
Holger wrote: But for the moment the focus is to release the jQuery-Plugin to bring that discussions and problems out of the world.
IMHO possibly the best solution, if the plugins using jQuery would be updated correspondingly.

Thanks,
Christoph
Christoph M. Becker – Plugins for CMSimple_XH

jerry
Posts: 177
Joined: Fri Jul 25, 2008 8:54 pm
Location: Denmark
Contact:

Re: New plugin: Pagemanager_XH

Post by jerry » Sat Jun 25, 2011 8:54 am

Hi Christoph
NoConflict solves some issues with other javascript librarys like prototype.js and scriptaculous.js used by several CMSimple plugins. I belive that there is no problem with jsTree but use jQuery instead of $ in your own calls. It should be enough to solve conflicts with other javascripts. See her http://docs.jquery.com/Using_jQuery_wit ... _Libraries

By the way, jQuery.jsTree should be loaded the same way as jQuery (somebody else will may be use it in a another plugin).

The problem with the newest version og jQuery is that we all use jQuery pluguns and they are not updated to the newest version on the release date. I don't know how to solve it.

I've read the tread about jQuery in Development Section later on so may be we get some jQuery standards soon.

I tried to test your plugin later this aften. I removed your call to jQuery and it solved the conflict with jquery (Newsbox Rotator was running fine). But the result was a list of pages (like sitemap) without possibility to move pages.

I will test it again when you release a new version
jerry
jerry/simplesolutions

Gert
Posts: 3075
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: New plugin: Pagemanager_XH

Post by Gert » Sat Jun 25, 2011 9:42 am

Hallo,

I have tested the final first version of jQuery4CMSimple from Holger right now, we will release it now, please wait some hours.

Here FotoGalerie_XH is working with jQuery4CMSimple:

http://www.ge-webdesign.de/cmsimpletemp ... Galerie_01

Have a look at the sourcecodes, jQuery is loaded only on pages with FotoGalerie_XH.
Gert Ebersbach | CMSimple | Templates - Plugins - Services

cmb
Posts: 13338
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: New plugin: Pagemanager_XH

Post by cmb » Sat Jun 25, 2011 9:43 am

Hello Jerry,

thanks for your report. :)
jerry wrote: I belive that there is no problem with jsTree
The problem with noConflict() is, that jsTree doesn't work with it. I have tested it. Than I took a glimpse at it's sources, and found, that there many calls to $ but not to jQuery :( I couldn't find other information about jsTree/noConflict() on the web. My code doesn't make any calls to jQuery directly.

I guess, I can't change this possible incompatibility with e.g. prototype until I look for another JS treeview solution and rewrite my code to use this one. :( I will see, what I can do.

However, I guess the problems with JS name clashes are not too heavy. I include jQuery and jsTree only in the backend, when calls to Pagemanager_XH are done. So it shouldn't collide with e.g. lb_Gallery, but only with uses of jQuery or other JS libraries using $ in the template (e.g. Newsbox Rotator).
jerry wrote: By the way, jQuery.jsTree should be loaded the same way as jQuery
good point!
jerry wrote: newest version og jQuery
For this I suggested a preg_replace() call. I didn't go into this until now, but in principle, it should be possible to replace an earlier inclusion of jQuery (from another plugin) in $hjs, with a newer one. But that will be another ugly regex hack. :( Because of possible HTML tags (e.g. <link>) in $hjs, it's not possible to use an xml parser (which I would prefer otherwise).
jerry wrote: But the result was a list of pages (like sitemap) without possibility to move pages.
This happened to me, when I've inserted the jQuery.noConflict() call. Maybe you did the same?

I hope to release a new version today. I will fix the major incompatibilities and report back.

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

cmb
Posts: 13338
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: New plugin: Pagemanager_XH

Post by cmb » Sat Jun 25, 2011 9:51 am

Hello Gert,

sounds great :), thanks for your information.

So I will wait with the next release of Pagemanager_XH to use jQuery4CMSimple. :) BTW: shouldn't it be called jQuery4CMSimple_XH ;)

Do you (plural ;)) have solutions for the mentioned topics jQuery.noConflict() and other plugins including older jQuery versions? Should I open a thread in "Open Development" on this?

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

Gert
Posts: 3075
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: New plugin: Pagemanager_XH

Post by Gert » Sat Jun 25, 2011 9:53 am

cmb wrote:BTW: shouldn't it be called jQuery4CMSimple_XH ;)
I have not tested it, but it should work also under CMSimple Classic.

But if the new Plugins using jQuery4CMSimple are working under CMSimple Classic - I fear: not ;)
Gert Ebersbach | CMSimple | Templates - Plugins - Services

Gert
Posts: 3075
Joined: Fri May 30, 2008 4:53 pm
Location: Berlin
Contact:

Re: New plugin: Pagemanager_XH

Post by Gert » Sat Jun 25, 2011 10:02 am

cmb wrote:Do you (plural ;)) have solutions for the mentioned topics jQuery.noConflict() and other plugins including older jQuery versions?
Older Plugins are not using jQuery4CMSimple and includes theirs own jQuery.

If the Plugin Developer updates his Plugin to use jQuery4CMSimple, he also should update his plugin to fit the needs of the newest jQuery Version ;)

I thougt, jQuery were backward compatible ???
Gert Ebersbach | CMSimple | Templates - Plugins - Services

cmb
Posts: 13338
Joined: Tue Jun 21, 2011 11:04 am
Location: Mü-Sa, RLP, DE
Contact:

Re: New plugin: Pagemanager_XH

Post by cmb » Sat Jun 25, 2011 10:22 am

Hello Gert,
Gert wrote: I thougt, jQuery were backward compatible ???
This should be so. But what if the plugin loader includes a plugin which uses a really old jQuery version, and after that, the loader includes jQuery4CMSimple. Will jQuery4CMSimple replace the old jQuery version from $hjs with its newer one? Or will jQuery4CMSimple be included before all other plugins (that would require a change in the core). Or will jQuery4CMSimple be installed under a folder that hopefully gets included at first.

And I want to know if jQuery4CMSimple will use the jQuery.noConflict() call. This call removes the $ and replaces it with jQuery, so that jQuery doesn't clash with other libraries using $ (e.g. prototype.js). IMO this is generally a good idea, but all plugins must be rewritten not to use $, and other libraries build on jQuery mustn't use the $ either. But jsTree uses $ -- bad for me :(

Christoph
Christoph M. Becker – Plugins for CMSimple_XH

Post Reply