Hi Cliff,

The "folders" don't show up in the website tree, because that tree is 
configured to show only pages, not folder nodes (this is determined by the 
node-type for the node).
To get around this problem, I would suggest using pages, rather than folder 
nodes as your folders. Create a "dummy" template for your "folder" page type. 
You can include some infos for the editors, which only get displayed on the 
author instance. On the public instance your template could redirect to the 
first child page (as I already suggested), or simply render nothing, or some 
basic 404 type page - it doesn't matter that much if you are manipulating the 
URLs with Apache.
Doing it this way will get around several problems:
- firstly, the nodes will now show up in the website tree
- secondly, you won't get errors when accessing the "folder" pages

Shortening the URLs using apache mod_rewrite --> this can work, and would solve 
the SEO problem. You'll have to watch out which URLs you rewrite to make sure 
images and other resources work as expected, but I think it will be possible.
You could also look into handling the URL-rewriting within magnolia, by 
creating your own filter in magnolia's filter chain.

I think one of the main things you will have to consider is the scalability - 
100000 microsites is really a lot. You will have to do some thinking to solve 
some scale issues:
- Apache with 100000 rewrite rules will be slow... you might have to find a 
more general formulation (using regexp) to reduce the number of rewrite rules 
needed on apache
- Magnolia can handle 100000 microsites, I would assume, but there will be 
issues with the repository size (if your 100000 sites are all using some 
images, you will have many gigabytes of data in your repository). Very large 
repositories can become hard to handle (making backups, creating indexes) - 
maybe it would be better to split it up into several magnolia installations
- JCR can handle many nodes, but if you have 100000 child-nodes at the same 
level, then operations like search can be slow. Also, magnolia's UI (and your 
browser!) will not be able to handle displaying 100000 nodes at the same level. 
I think you will need to "split it up" a bit more, using subfolders, to make 
sure there are not more than about 1000 child nodes in any folder...


Regards from Vienna,

Richard



-----Ursprüngliche Nachricht-----
Von: [email protected] [mailto:[email protected]] 
Im Auftrag von Cliffano Subagio (via Magnolia Forums)
Gesendet: Montag, 09. September 2013 04:43
An: Magnolia User List
Betreff: [magnolia-user] Re: Folder for pages

Hi Richard,

Thanks for the reply.

"magnolia would probably return an error, because it can't render the folder"

The folder is there only to 'group' the pages so I can create a role which ACL 
is restricted to the group instead of the root node / .

Here's what I did:
I duplicated the demo-project to demo-project0, I then used JCR view to create 
a folder foobar, and I moved demo-project0 to be under foobar folder.

The public site could be viewed from:
http://localhost:8080/magnoliaPublic/default/foobar/demo-project0.html

The authoring site could be viewed and edited from:
http://localhost:8080/magnoliaAuthor/.magnolia/admincentral#app:pages:detail;/foobar/demo-project0:view
http://localhost:8080/magnoliaAuthor/.magnolia/admincentral#app:pages:detail;/foobar/demo-project0:edit

But the problem with this is that foobar/demo-project0 no longer shows up on 
the Pages view, which prevents user from editing the page.

So I didn't expect the folder to be rendered by Magnolia.

For completeness, here's the XML:

A. Before creating subfolder foobar.
<sv:node sv:name="jcr:root">
  <sv:property sv:name="jcr:primaryType" sv:type="Name">...</sv:property>
  <sv:node sv:name="demo-project0">...</sv:node>
</sv:node>
I could have a role with website ACL /demo-project0, but that won't allow users 
to duplicate /demo-project0 unless I set website ACL / which unfortunately 
allows the user to edit other pages under /.

B. After creating subfolder foobar.
<sv:node sv:name="jcr:root">
  <sv:property sv:name="jcr:primaryType" sv:type="Name">...</sv:property>
  <sv:node sv:name="foobar">
    ...
    <sv:node sv:name="demo-project0">...</sv:node>
  </sv:node>
</sv:node>
I could have a role with website ACL /foobar, with the intention to allow users 
to duplicate pages under /foobar . But the problem is /foobar/demo-project0 
doesn't show up on Pages view.


"having 'empty' pages is bad for SEO - the closer your content is to the root, 
the more 'important' it is - therefore having folders in the website repo is 
bad for SEO"

I was thinking to have a proxy up front, which URL rewrite to Magnolia pages.

e.g. 
- microsite1.com points to host/magnoliaPublic/default/groupX/microsite1.html
- microsite1.com/about.html points to 
host/magnoliaPublic/default/groupX/microsite1/about.html
- microsite2.com points to host/magnoliaPublic/default/groupY/microsite2.html

Would that solve the SEO problem?


Cheers,
Cliff.

--
Context is everything: 
http://forum.magnolia-cms.com/forum/thread.html?threadId=7c4115b8-d125-4191-bb23-7e56005dc264

You are invited to Magnolia Conference. Less than a month to go! Register now: 
http://www.magnolia-cms.com/conference/register.html


----------------------------------------------------------------
For list details, see http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/ To unsubscribe, 
E-mail to: <[email protected]>
----------------------------------------------------------------





----------------------------------------------------------------
For list details, see http://www.magnolia-cms.com/community/mailing-lists.html
Alternatively, use our forums: http://forum.magnolia-cms.com/
To unsubscribe, E-mail to: <[email protected]>
----------------------------------------------------------------

Reply via email to