Multiple page publishing in SDL Tridion - tridion

How can I publish a page to more than one child publication at a time using the SDL Tridion 2009 GUI?
Here is an example of what I want to achieve: I have a Publication called "Global" with a Page called home.aspx and then two child Publications (UK and USA). I want to publish both child home.aspx pages at the same time, is it possible?

You'd need to associate your parent (Global) publication to the publication target that the children pages need to publish too.
this unfortunately means your 'global' page will also publish to the server. You could write a custom resolver around this to remove the page from the published zip package, but this will require some development work to implement.
Bart Koopman has written a post which explains how you can do this here : http://www.tridiondeveloper.com/no-faking-publish-from-a-parent-publication-without-faking-a-publication-target

To publish pages in child publications by selecting publishing of a master page you could employ the event system. Since you're on Tridion 2009 you will need to use the COM+ event system (can't use the new TOM.NET one).
The logic should be as follows:
You may want to put a publication metadata schema on the parent publication that will specify the IDs of the child publications that this cascaded publishing should work for (or create a configuration component). You will also need to specify which publication targets you'll want to publish to for the child publications.
In OnPublishPre (or Post) event use the TOM API to get Pages in the child publications and do page.Publish().
The advantage here is that content managers/publishers don't need to worry about having to go into the Advanced tab and select additional options.

If you want to publish the same page in multiple child publications, click on the advanced tab of the publish dialog, and check the "also publish in child publications" check box.
There is more information on this approach in this post http://www.tridiondeveloper.com/no-faking-publish-from-a-parent-publication-without-faking-a-publication-target.
Depending on whether your parent publication should actually be published, you may want to consider one of the Custom Resolver or Event System solutions offered by John Winter or Nickoli Roussakov in the other answers on this page.

Related

How to discard unpublished changes in django-cms?

I already found out there's no way to discard unpublished changes in django-cms from the Admin. Therefore I'm looking for a way to hotfix this from the shell via ORM.
I see there's a Page model which has 2 instances for each page, one public and one draft. Is it perhaps possible to discard those changes by copying some particular data from the public instance to the draft instance? Thanks.
From the Page menu you select "Revert to live" and that'll discard the draft changes.

Defining structure for content in drupal

I am trying to create a site that will enable users to publish their projecs and enlist other people to join their project.
A user should be able to list a project, specify certain attributes (name,description, etc..).
There are few things i'm having trouble with.
First, by default publishing content is refered to as "content", i dont want a user to "add new content" but rather to "list new project".
Second, a project should have certain attributes, some optional and some mandatory, rather then the default title and body,
users should later be able to filter by these attributes when searching for projects.
is there a way to define the structure of content?.
Third, a user should be able to apply to a project, if he applies, the owner of that projects should receive the appliance, and accepte\reject.
In case he accepts, the users profile should be added a record that he is part of that project.
I am completly new to Drupal, and CMS in general.
My main expertise is with java, and I initially thoght about building the site with a java REST api in the backend and angular js in the frontend, but I have 0 experience with security and dodn't know how to do the user authentication and session management.
So I am currently trying out Drupal.
Is Drupal the right solution?
If so, how should I approach the requirements specified above?
Drupal (assuming that you are talking about version 7 since 8 is still in beta) is pretty powerful CMS, with a lot of (free) modules allowing it to expand it's possibilities.
When you are in back-end under Structure -> Content types you can see all available content types defined. There is also link "Add content type" which you can use to define your own. That basically means you can add any fields in any types you want. If you don't see the field type you need there is a big chances that there is a module which adds that field type so you just have to install it. You can also remove body (hide it actually), but title must remain (but you don't have to show it on front-end).
There is a "node reference" field type, but you have to install a module for it: https://www.drupal.org/project/references
So you can create dependencies you like.
And that "add new content" is just a link - you can create your own, set title as you like, just keep the same path. You can also set different theme for (some) admin pages if you want them to look differently. Under Structure -> Menus you can even edit admin menu, add new link and stuff..
Drupal is a bit heavy on resources, because of it's complex structure and database abstraction. For static content just turning on (built in) caches will help, but generally adding some additional caching mechanism won't hurt.

Can Sitecore templates be used to store SQL Queries or JavaScript

We are building a Page with dynamic functionality using ASP.NET + Sitecore 7.0.
Is it practical and appropriate use Sitecore templates for:
SQL Stored Procedure Name to be invoked
JavaScript to be invoked
ColumnNames to be used etc (related to coding customization)
Or should these configuration properties remain inside the ASP.NET Project itself?
What is the primary purpose of Data Templates in Sitecore?
Are they for developer customization or customer-level customization?
The purpose of a data template in Sitecore is to define the set of fields for content items which inherit from that template. - Think of a data template as a class and the content items (pages) as instances of that class.
Templates are usually used to define the user-editable content of pages within a site, that being said you can have items to store information which is not managed by regular content editors. The question is where do you draw the line between things which should be put into Sitecore and things which should be a part of the solution. My advice is only put things in Sitecore if they need to be there. If you have to have the ability for editors or admins to configure those settings/properties.
I would say that putting SQL/ColumnNames is probably a bad idea unless you are building some sort of report builder interface in which case it may be essential?
Likewise with placing JavaScript into Sitecore; this can be OK in moderation (e.g. snippets of analytics code which content editors may want control over?). If you're placing whole libraries of JavaScript into Sitecore, you're probably doing it wrong.
One final point to note is findability/re-factorability of code: if you have code spread between Sitecore and your solution, it can make it very difficult to maintain as it is difficult to get a complete overview of code involved.

Drupal — staging version for content?

We want to replace our organisation's existing custom-built CMS and on of the systems we're looking at is Drupal (7. It seems to have a lot of the features we need but I am not sure if one thing we absolutely need is possible (either through the core or with a module). Sometimes we need to add a lot of new content to our website and publish it all at the same time. For example, we might have a load of new news items, new publications, etc, to be published on 1st September.
I can see that normally we can create those pages and simply leave them as unpublished until the date in question. But we might also want to update existing content (create a new revision but not publish it yet).
My question is, is there a way for an editor to see the website as it will actually appear once both the new content is published and the latest revisions of the existing content are published and if necessary make changes to that content (again without actually publishing it)? I suppose you could call this a staging version of the website, though not on a separate server.
Thanks
You could use one of the revisioning/workflow modules to do this.
These allow you to set up a process or workflow for creating / updating content in a new revision while keeping the old content live until you are ready.
Some possible options are;
https://drupal.org/project/revisioning
https://drupal.org/project/workflow
https://drupal.org/project/workbench

Tool tip (instructions) in Component fields and conditional field values in SDL Tridion components

Is it possible to implement tool tip (instruction) for SDL Tridion component fields using GUI extension? If so, could you please provide the details on how it can be done. The tool tip should appear right next to the field whenever the cursor is placed on the field.
Based on the selected value in one field of SDL Tridion component, can the values in an other field be restricted to specific set of values? For example, country and city fields. When the country is selected, city field should only show the cities of the selected country.
A custom tool tip with instructions for a field
You may consider using custom URLs to accomplish the same functionality. You can provide a separate URL for every field, so you could easily have a "/Extensions/Instructions/Article_Body.html" for one field and ""/Extensions/Instructions/Article_NavTitle.html" for another. That way the user can click the field name to pop up your HTML files with instructions. Although the GUI is different from what you describe, it will require less custom coding.
If you're stuck on the GUI as described in the requirements, I suggest you start by writing your own GUI extension and show us how far you got.
A dependency between fields
As Jeremy said already this is not a default option in Tridion, but can be accomplished (like pretty much anything) in a GUI extension.
This type of requirement has been covered quite extensively already in these questions:
Dynamic drop downs in Tridion designing in schema in SDL Tridion 2011 SP1
how to pass embedded schemas as drop down for the content schema in SDL Tridion 2011 SP1
Check out Can we show a different tooltip when a Dashboard Button is disabled? for the answer to question 1. The default option for question 2 is that it is not possible to do this. A GUI extension could be the answer though.
Custom URL and Description
+1 to Frank on Custom URL. Organization-specific help pages definitely help authors. Though they may not use Custom URLs for this, see a great user guide example from Yale.
Don't forget the description field. This is the easiest way to give authors basic instruction for each field and it shows as a tool tip.
For the text within a field, you can also use default settings. If you're using the inline UI (formerly SiteEdit), consider Content (Component) Types to set default values and instructions.
Category & Keyword (as a tree) for Field Dependencies
Use Categories and Keywords displayed with the "tree" option by setting subcategories (such as country) to abstract keywords. Set selectable keywords (e.g. cities) to normal. Then select the tree option to make it easier to navigate between the options.
If the use case is actually countries and cities, consider offering a better interface than the tree selector or drop-downs.
The catch is only the normal keywords would be saved in the component. However, there are workarounds to getting the keyword path.
Update: Custom Urls are not deprecated, only the old script was deprecated in favor of a new approach in SDL Tridion 2011 SP1.

Resources