Hi

I'm new to Drupal and have two sites that I'm considering whether Drupal is the CMS to use. Here's what it needs to do:

On one site, they have a content structure that will be updated from an XML file periodically. I need to be able to parse that into a menu structure (either the nodes, or as a new module, I guess). Is it feasible to insert the structure as nodes bearing in mind that it will be erased and replaced periodically? I also need to be able to keep statistics of user access of these pages.

On the other site I need to be able to attach blocks of related content to specific pages. ie, on this page I want to list all content that matches these attributes. I can see it's easy to attach blocks to types of pages, but I don't see if it's possible to attach to specific pages.

Is Drupal viable for this? If so, where do I look or what approach should I take?

Any help greatly appreciated.

Comments

vm’s picture

you can attach blocks to specifc pages using block visibility and adding the path in adminsiter -> blocks

clock the configure link, next to a block to expose the visibility settings.
scroll down to page specific settings and set accordingly.

_____________________________________________________________________
My posts & comments are usually dripping with sarcasm.
If you ask nicely I'll give you a towel : )

readitsideways’s picture

I don't seem to be able to specify that on this page I want this block with these settings, and on a different page I want the same block, ut with different settings... Is this possible?

reevo’s picture

For pulling in feeds as nodes, take a look at FeedAPI. I've also found the Feed Element Mapper to be extremely useful if you're pulling content into CCK nodes.

For related content, you'll probably want to take a look at the Views module, which will allow you to create a block that uses arguments from your node to filter and list related content.

Hope this gives you some good starting points :)

readitsideways’s picture

ah, thank you. That's what I'm looking for. So if they're nodes I can get stats on them?

readitsideways’s picture

please be patient with me with all these questions - I'm never used Drupal and a larg client is adamant that they want an open source CMS - so I have to quote on this...

Their XML feed that needs to get parsed and included into the menu/nodes has multiple levels. They want a fly-out menu (I know, I know, but they're set on it). Will Feed API/ Feed Element Mapper allow for this? Otherwise I can build the fly-out menu from the feed and have the items link to the nodes (using a custom unique field in the feed and CCK)

I'm trying to wrap my head around how this would work.

reevo’s picture

I'm relatively new to Drupal myself and found it quite a steep learning curve at first, but stick with it - it's definitely worth the effort :)

Regarding views blocks and nodes, you can add various arguments to filter results. Arguments can be passed through in the URL when using a Page view, or from the node when used as a Block (I think - somebody correct me if I'm wrong!). An example where I've used Arguments for a block view is by adding Taxonomy: Term ID, Default: Page not found. The block, when enabled, will then use any Taxonomy terms from the node to match other nodes with the same terms. I added an additional filter to specify only nodes of a certain type, where Node: Type == Story.

I'm not sure how well FeedAPI / Mapper deals with completely arbitrary XML, I *think* it needs to pull content in valid RSS format, although I've managed to successfully pull in content from feeds with the following structure and ingest them as CCK nodes:

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>XXX</title>
<pubDate>Fri, 20 Jun 2008 01:34:06 -0700</pubDate>
<item>
  <title>XXX</title>
  <callid>XXX</callid>
  <datetime>XXX</datetime>
  <cliwithheld>XXX</cliwithheld>
  <cliwithheldtrueorfalse>XXX</cliwithheldtrueorfalse>
  <callednumber>XXX</callednumber>
  <totaldurationofcall>XXX</totaldurationofcall>
  <endofstatuspoint>XXX</endofstatuspoint>
  <successfulfailedcall>XXX</successfulfailedcall>
  <inboundduration>XXX</inboundduration>
  <outboundduration>XXX</outboundduration>
  <callid2>XXX</callid2>
  <operator>XXX</operator>
  <customer>XXX</customer>
  <cc4winfield1>XXX</cc4winfield1>
  <cc4winfield2>XXX</cc4winfield2>
  <cc4winfield3>XXX</cc4winfield3>
  <cc4winfield4>XXX</cc4winfield4>
  <cc4winfield5>XXX</cc4winfield5>
  <cc4winfield6>XXX</cc4winfield6>
  <item>
</channel>
</rss>

... so it's sort of a mixture of RSS and arbitrary XML.

Also might be worth adding that I'm still actively developing on 5.7 for production sites and am not planning on moving over to 6 for some time.

vm’s picture

I want this block with these settings, and on a different page I want the same block, ut with different settings... Is this possible?

investigate the blockclone.module

_____________________________________________________________________
My posts & comments are usually dripping with sarcasm.
If you ask nicely I'll give you a towel : )