Scripteka.com was just built on Drupal

mx_ - November 8, 2007 - 21:21

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

interesting

JohnForsythe - November 8, 2007 - 22:32

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

kylehase - November 9, 2007 - 00:22

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

mx_ - November 9, 2007 - 02:33

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

xmacinfo - November 9, 2007 - 02:57

Don't forget the famous Adobe Flex powered by Drupal.

;-)

Using Prototype with Drupal

xmacinfo - November 9, 2007 - 02:54

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.

I actually will be mostly

mx_ - November 9, 2007 - 03:25

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

mx_ - November 9, 2007 - 03:27

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

sepeck - November 9, 2007 - 20:17

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

Using jQuery with Other Libraries

ica - November 12, 2007 - 17:11

Very Nice

jordan.page - November 9, 2007 - 05:46

Would you be willing to explain or write a tutorial on how you implemented the "signin / register" part of your site?

Carey

interesting!

Sree - November 9, 2007 - 06:01

looks quiet interesting ....

looks interesting, but with

gollyg - November 9, 2007 - 11:03

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

mx_ - November 9, 2007 - 13:08

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

gollyg - November 10, 2007 - 04:30

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

mx_ - November 10, 2007 - 07:10

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

mx_ - November 9, 2007 - 06:27

I will post about it indeed. : )

Thank you

jordan.page - November 9, 2007 - 15:30

I look forward to reading the post. :)

Please have a look at the

mx_ - November 13, 2007 - 07:24

Please have a look at the article I just posted which also answers your question.

Thanks

jordan.page - November 15, 2007 - 13:47

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

rszrama - November 9, 2007 - 18:36

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

mx_ - November 9, 2007 - 19:54

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

xmacinfo - November 9, 2007 - 20:21

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.

Should've been more

rszrama - November 10, 2007 - 03:41

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

mx_ - November 10, 2007 - 07:12

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

sammy_india - November 10, 2007 - 19:48

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

mx_ - November 11, 2007 - 00:13

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

mx_ - November 13, 2007 - 07:22

I just posted an article on this subject. Check it out if still interested. : )

Accessability NoNo

Bèr Kessels - November 12, 2007 - 20:19

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

mx_ - November 12, 2007 - 20:35

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

Info4BeingRich - November 16, 2007 - 00:42

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

catalogs - June 26, 2008 - 19:22

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

 
 

Drupal is a registered trademark of Dries Buytaert.