We have just released the library for Prototype Javascript developers - Scripteka - built on Drupal. It might sound ironic at first that jQuery-favoring CMS was used to build a Prototype community resource - however the back-end power of Drupal is way too attractive. We had to cut jQuery out of use in our theme. Our purpose was to simply provide one place where all the Prototype-based scripts could be exposed, consolidated, and rated by the community.
Development issues, solutions.
Throughout our development we stumbled upon numerous problems. One of them was using the free tagging in Drupal's taxonomy to build an efficient tag cloud. I've already written an article on that subject, where I explained approximately how I solved this (in a tutorial form).
Another problem was to build an ajax dispatcher which would completely bypass the theme, and only exchange json. At the same time we had to preserve the permalinks - to provide for proper indexing by search engine. We used autopath module to generate the permalinks, however, we had to implement our own callbacks for every possible ajax and non-ajax action.
The site also features Bayesian rating system, rss feed formatted with drupal's format_rss_item() and format_rss_channel(), and numerous nice front-end techniques and tricks implemented with Prototype.
More info
I will try to post a few articles on my blog, to the best of my abilities. Articles about things such as Bayesian ratings and wiring up Drupal to work with PEAR::Mail are first candidates to appear there.
Thank you for your interest, we would appreciate any feedbacks in our blogs, as well as bugs and suggestions in Scripteka's Trac.
Best,
Max and Juriy
Comments
interesting
This is a neat website. The fake scroll bar, tabs, and other dynamic features are well done, and the overall design is solid. The header looks a bit empty, though.
--
John Forsythe
Need reliable Drupal hosting?
That's pretty funny
Wonder if we'll start seeing other alternative technology promoting sites start to use Drupal as well because it's so good.
somethingRubyOnRails.com powered by Drupal
ASPScriptsSomething.com powered by Drupal
somethingJoomlaHelp.org powered by Drupal
...
hehe... Well, in order to
hehe... Well, in order to build Scripteka on Drupal - we replaced jQuery with Prototype... In order to build RubyOnRails site on drupal, you'll have to replace PHP.... In order to build Joomla site - you'll have replace CMS... No, doesn't sound too likely.
Flex powered by Drupal
Don't forget the famous Adobe Flex powered by Drupal.
;-)
/*_*/
http://www.xmacinfo.com
Using Prototype with Drupal
I will follow up closely your blog about integrating Prototype in Drupal. At my main job, we are developing web application with Prototype. I'm using JQuery only with Drupal. So I cannot reuse widgets.
I wish that Drupal would be compatible at installation time with more than one JavaScript framework. We would only need to enable one framework versus another.
/*_*/
http://www.xmacinfo.com
I actually will be mostly
I actually will be mostly writing about back-end php stuff. However - what we did was quite straightforward. We created a new Drupal theme from scratch, and in our page.tpl.php we simply omitted javascript declarations (the head variable). Instead - I added an additional template variable (among others), which points directly to /js dir in our theme. So instead of using standard drupal's head - we used <? echo $js ?>prototype.js (where $js is pointing to our theme's javascript dir). Nothing to it really. : )
FYI, there is still some
FYI, there is still some jQuery left in our admin panels - but that's because we had to release fast, and had to pick a simple drupal theme for our admin panels. This will be redesigned to our own theme in the next release (1.1).
namespace
While it is true that Drupal uses JQuery as the default stuff, it was recognized during the D6 updates that Drupal should play nicer with other libraries. While this realization was later then people would have liked, I believe that further name space separation has some people planning to work on it for D7. I know some stuff was done to accommodate different javascript libraries, just don't remember how much was in D6 vs delayed for D7.
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide -|- Black Mountain
-Steven Peck
---------
Test site, always start with a test site.
Drupal Best Practices Guide
Using jQuery with Other Libraries
this might be helpful
http://docs.jquery.com/Using_jQuery_with_Other_Libraries
Very Nice
Would you be willing to explain or write a tutorial on how you implemented the "signin / register" part of your site?
Carey
interesting!
looks quiet interesting ....
-- Sree --
IRC Nick: sreeveturi
looks interesting, but with
looks interesting, but with js disabled appears to be inaccessible. Perhaps a bit more progressive enhancement to make the sign in link to the /user page in the absence of js?
Funny you should mention
Funny you should mention that. As you could see - the website is somewhat accessible without JS - the left menu links will work -- although you wouldn't be able to scroll them -- but they are still present in html. Since we've been building the website for the javascript community - people who write and search for scripts based on Prototype JS - we naturally assumed that our target audience will have javascript enabled. However, we built the site in such a way, that automatic screenshot-taking mechanisms, web crawlers, etc - they will be able to read all the info they need. They will be going through links in the left menu - which don't require javascript. Those bots need access to neither bottom tagcloud, nor register/login, nor right menu. They just need to follow left links, read each script's data, and screenshot that page properly - which all works perfectly. All those functional features are for humans. : )
Yeah. I get that your target
Yeah. I get that your target audience is likely to have js. But as a philosophy toward js enhancement it would be nice to have things degrade for users as well as bots. Don't get me wrong, i like the site and it probably isnt a huge issue in this case, but its the principle i am considering.
/user
Makes sense, I agree with you on the whole matter of principle. Well, the site is built on Drupal - just add /user into URL. ; ) We didn't feel the need to have a link to that page though. : ) Still, at least things now look a little more comfortable. : )
Sure
I will post about it indeed. : )
Thank you
I look forward to reading the post. :)
Please have a look at the
Please have a look at the article I just posted which also answers your question.
Thanks
That was some write-up. I was thinking maybe you had accomplished it with some CSS trick or something.
Aside from all the flack you're getting for using js for the login, it's still a very nice site. It makes Drupal look good.
Cheers.
I'm running the latest
I'm running the latest Firefox in Win XP, and whether I use my scroll wheel to scroll up or down on your fake scrollbar area, it always goes down. Maybe it's just me, but you can test by trying to use the wheel to scroll up and see if it doesn't go down.
----------------------
Drupal by Wombats | Current Drupal project: http://www.ubercart.org
Hm, I don't think we saw
Hm, I don't think we saw this kind of problem before. I would really appreciate if you could submit a new ticket to our Trac. Thanks for letting know.
It's ok here with Firefox and XP
The scroll wheel with the left menu works fine with me using Firefox 3.0b1 and Win XP. It is also working fine on Mac OS X.
/*_*/
http://www.xmacinfo.com
Should've been more
Should've been more specific... I'm on the latest 2.x of Firefox, and it's actually working fine here at home. It may just be happening at work due to the nature of our work terminals or something, though the scroll wheel works fine in normal windows.
----------------------
Drupal by Wombats | Current Drupal project: http://www.ubercart.org
Ah, the differences between
Ah, the differences between systems are sometimes illogically unpredictable. Also - it might be that at the top - the browser coincidentally froze up a little for you... I noticed that quirk a few times.
exchaning json
very interesting mx_.
>>Another problem was to build an ajax dispatcher which would completely bypass the theme, and only exchange json.
Did you try using the 'JSON server' module ? Any thoughts on it ?
What do you recommend for an application needing json data transfer ?
Hm, the "JSON server" module
Hm, the "JSON server" module seems to be useful for total Drupal integration (that includes both back-end and front-end/jquery). However, jQuery or not - from a quick glance through the module's description, it feels a little redundant. All you need for JSON server -> client interaction is callbacks and any json-parsing function in your javascript (whichever library you chose). I will make it into a post in my blog. Expect the posts to start appearing this upcoming week.
I just posted an article on
I just posted an article on this subject. Check it out if still interested. : )
Accessability NoNo
Aggghh.
Login/registration behind javascript. Non-degrading javascript. IT breaks fantasically, meaning that I, on konqueror cannot log-in, nor register. that tabs, and navigation don't work and more of that stuff.
Now, I know, konqueror is not somthing you will want to put budget asie for. And that is beyond the point.The point is, that something as crucial as navigation, or a sign-in/registration thingy should never! ever! ever! be stuck inside complex javascript.
Its not as if you need ajax for sign-in. Not as if signing on is such a heavy task that you need to offload parts with asynchronous Js. It is not as if plain-old-XHTML+POST forms drive people away from your site.
In general there is but one rule of thumb: Javascript for the sake of Javascript is beyond evil. It is nothing more then the very thing that gave javascript such a bad name: DHTML. Why the F would someone break the otherwise (scrollwheels, screenreaders, desktop-widgets, etc) perfectly accessible, proplerly working, and so forth scrollbars? "because the Js scrollbar looks neat"?...
Off course, since its a site about the JS toolkit, a lot can be fogiven :) As long as others dont even start thinking about implementing JS-only log-ins! :)
Other then that: the site is nice. seen in firefix it runs good, looks clean, clear and so on. The toolkit looks very promising (but needs konqueror support, or else degrading!) and the implementations look usefull, for few, well thought-out cases.
---
Professional | Personal
Your points are all valid
Your points are all valid and strong. In fact, I can see quite a few potential tickets in your post, and would really appreciate if you could submit some of these problems to our trac. We will make sure the site is a lot more accessible in the future releases. You know how it is - publish as soon as possible (to make basic useful product) - then fix things as they're coming in.
Nice site
This site looks good. Though i think the header could be optimized upto some extent. And how about reconsidering your color scheme..
_________________________
Blog Tips To Make Money
jQuery + Scripteka
Hi everyone,
Great Post!
Thanks for sharing your thoughts.
At least, one spot where whole range discussions about Prototype Javascript developers - Scripteka - built on Drupal and jQuery can be found. There is plenty of room for expansion for the jQuery or/and Scripteka site also.
catalogs