Is it OK if I have sth like 5000 terms on a website?
I want to use drupal for an educational website. According to my plans there are lots of sections and it's going to have thousands of pages and users.
One section is quotation pages. I want to initially put some 2000 quotes, each having a subject and an author (which are the vocabulary terms), so that the quotes can be easily searched and categorized. Since the data entry does take time, and I don't want to redo it! I decide to ask this question here: Won't I have any problem due to the large amount of terms and vocabularies? Isn't it better if I put this quotation section on a sub domain or even another website? I'm gonna have other big sections like proverbs, and...
I'm using drupal 6 and later I can move the site to a better server, even hire a dedicated one if needed. Do you think I need some advice with drupal pros and then start the website?

Drupal CMS front end .. XML database back end
This suggestion might be controversial in a Drupal forum .. but for your application you might be better starting with an XML database to build and retain your searchable proverbs in XML .. searched by XQuery ..
http://exist.sourceforge.net/
However eXist runs on a Tomcat server (java) and not under Apache (PHP+MySQL).
That said you can get the best of both worlds by using Drupal as your front end CMS and then making REST calls to your back end eXist XML database.
In fact if you have control over your dedicated server you can run both Apache and Tomcat on the same physical server on different ports .. but don't expect any hosting companies to offer this hybrid.
Another strategy is to run two separate servers .. Drupal on one and eXist on another. Drupal would make REST queries to eXist.
So my suggestion is consider a hybrid. Play around with eXist to see if it is suitable then use Drupal 6.x as a front end content delivery system. Look at submitting XML to and from eXist using PHP5.
This XML editor is useful ..
http://xml-copy-editor.sourceforge.net
Hi there. Thanks for the
Hi there. Thanks for the detailed infos.
I'm very interested in eXist for drupal. Where about can we stay up-to-date on this topic, please?
Best regards
You mean the drupal database (MySQL) is not suitable?
Thanks, D L
You mean the drupal database (MySQL) is not suitable for my purpose? I actually am not a programmer and what I said about a dedicated server was for the time the website has lots of users and there's load on the server.
horses for courses ..
It might be suitable or it might not .. more likely the latter ..
There are two issues ..
First .. for your application .. the question of XML vs SQL databases
http://www.rpbourret.com/xml/XMLAndDatabases.htm
My best guess is that your application would benefit from a "text-based native XML database".
Although probably you could use only Drupal to build your database a MySQL approach may not fit well with your stated requirements.
but I might be wrong .. others might comment on this theory ..
Second .. your lack of programming experience .. this will be a problem whichever route you take.
For the scope of project you describe you will need to team with a developer (whether XML or Drupal/PHP/MySQL or both).
Some tutorials here .. http://www.w3schools.com/
..
To get a handle on the power of eXist go to ..
http://demo.exist-db.org/exist/examples.xml
and
http://demo.exist-db.org/exist/sandbox/sandbox.xql
and try some of the examples. XQuery the Shakespeare database.
You can learn XQuery and XPath at http://www.w3schools.com
http://www.w3schools.com/xquery/default.asp
http://www.w3schools.com/xpath/default.asp
...
compare the above XML world with
http://www.w3schools.com/sql/default.asp
sounds straightforward
2000 or 5000 records, or even 10x that, is not really a lot of data as far as mysql is concerned. i'd worry more about managing that data than how quick the database can query it -- the database can be tuned later if it turns out to be an issue.
i don't see a reason to consider xml for the quotes and whatnot -- if you go with all that data in a separate data store using an entirely different server platform, you'll need a second CMS to manage it, and you wouldn't be able to benefit from the things drupal can do, e.g. categorizing the quotes using taxonomy, allowing comments or ratings on them, listing them in blocks according to various criteria, etc. xml is good at hierarchally-structured data but what you're describing sounds like a flat table, with some metadata associated with each record. drupal/mysql are great at this sort of thing.
i just wrapped up a project using an xml cms and i have to say it was a *giant* pain in a variety of ways. this system required you to define the schema (data structure) before entering any data, and although you could change the schema later, those changes *wouldn't* be reflected in any already-created records. so, we really had to know exactly what we needed before we built anything. this of course lead to lots of false starts and do-overs. in contrast, drupal/cck allow the schema to be changed at any time (say, adding fields), and those changes apply to all records of that data type. it's pretty wonderful. and views is way way way better than the xpath/xslt stuff we had to use in this other system.
i wouldn't worry about the performance of the quotes part of the site affecting other parts of the site -- if you build it and see slowdowns, and find that things like caching, mysql tuning, etc. don't help, *then* you could think about splitting parts of the site onto separate servers.
"you'll need a second CMS to
"you'll need a second CMS to manage it"
not so .. I proposed that Drupal would be the front end CMS .. the only CMS .. a hybrid approach .. best of both worlds which can run on the same server.
He wrote .. "I'm gonna have other big sections like proverbs, and... "
I read this to be signs of a larger scale semantic network application probably in different languages but that is a guess.
At least he has a good spread of opinion now .. "horses for courses".
hm
hm, i didn't realize it was possible for drupal to use an xml database instead of mysql. are you talking about using drupal 7's database api?
i still don't see what's "best" about the xml world in this context. what exactly is better about storing nodes as xml files instead of in the main database?
PHP client calls eXist XML engine or Orbeon engine from Drupal
No .. just Drupal 6.8 .. I'm suggesting a simple PHP5 client as a snippet to access the eXist XML engine ..
here is one example .....
http://query-exist.sourceforge.net/
http://webscripts.softpedia.com/scriptDownload/PheXist--Download-31814.html
XML offers integrating XForms with Drupal .. e.g. I'm experimenting with integrating XForms built in http://www.orbeon.com
it boils down to a simple view of the rendered XML in Drupal.
The back end engine does the XML management.
I'll follow up with some examples later when I have time.
sounds interesting but otoh
sounds interesting but otoh a lot of hoops to jump through to solve a performance problem that probably doesn't exist in the first place. the functionality described in the op sounds like something that could easily be created with core drupal (plus maybe cck and views), and which has already been done by 1000's of people, written about in dozens of tutorials and books, etc.
We are not trying to solve a performance problem
"solve a performance problem"
Sorry .. but to clarify .. the idea was not to address any performance problem .. I'm sure that Drupal is up to meeting any performance demands.
The point I raised .. and I did open by saying it was controversial .. was whether there would be any advantage in extending Drupal functionality by harnessing a native XML database .. in addition to using Drupal + MySQL for the traditional CMS stuff.
That's all.
I've given XForms applications as one example ... more functionality that Drupal forms.
I have not seen any Drupal modules (cck + views) which will provide the functionality of a native XML database engine but I'm certainly open to ideas.
....
Jaffar
returning to your original post ..
"I want to use drupal for an educational website. According to my plans there are lots of sections and it's going to have thousands of pages and users."
Bearing in mind you are not a programmer it might be prudent to stick with Drupal in the first cut.
If you later decide to experiment with XML databases you can always write a script to export your content from Drupal database into a format which can be imported into XML.
XForms
d_l
This topic pops up when I search for XForms. Have you had success with XForms integration? Hoping this shows up on your radar, as I'm looking for some insight/advice/expertise for such a project.
c
easy to test
note that if you install the devel module, you can use it to create a bunch of dummy data for testing, before you take the time to enter the real data.
Thanks guys :)
Thanks guys :)
I have a site with over 100
I have a site with over 100 thousand nodes and 40 thousand terms, around 1 million pv per month, runs on a dedicated box from Rackspace and never misses a beat.
We use memcache and other trickery for caching but thats about it, nothing really that special.
Professional Drupal Design and Theme Services