I've read the Flare Guides related to project templates and global project linking. If I'm understanding correctly, there appears to be some overlap in functionality between templates and global projects. I want to build a single project with common topics, images, stylesheets, etc, that can be used as the basis for creating other projects. It appears that I could accomplish this goal using either a global project or a template project. I'm leaning towards a template project because it seems at this point to be more straightforward.
I'm looking for input on pros and cons of each method. I'd love to hear some best practices from MadCap on this subject!
Thanks
Pros and cons of using template project or global project
-
doc_guy
- Propellus Maximus
- Posts: 1979
- Joined: Tue Nov 28, 2006 11:18 am
- Location: Crossroads of the West
- Contact:
Re: Pros and cons of using template project or global projec
The decision probably hinges on whether you want to keep the child projects in sync with each other or not.
A template is taken at a single point in time. Projects based on the template inherit any template settings, but are not connected to the template anymore and any changes made need to be made to the individual project files. Every project based on that template has to be updated individually. This is fine if you don't expect to keep the projects in sync.
Global Project Linking keeps the child projects in sync by re-importing linked files into the child project either on demand, or at build time (if you set the build setting). If you try to edit a linked file in the child project, Flare throws an error message, telling you that the file in question is linked to the master project, and any changes will be lost when the project is reimported. (It also gives you the option to remove this file from the import, but then you are breaking the feature that keeps the files in sync.)
So if you are just looking for a common starting ground, and then you expect your projects to be independent entities, the project template is the way to go. If you want the files to be linked and updated after they are created, then you'll want to use global project linking.
A template is taken at a single point in time. Projects based on the template inherit any template settings, but are not connected to the template anymore and any changes made need to be made to the individual project files. Every project based on that template has to be updated individually. This is fine if you don't expect to keep the projects in sync.
Global Project Linking keeps the child projects in sync by re-importing linked files into the child project either on demand, or at build time (if you set the build setting). If you try to edit a linked file in the child project, Flare throws an error message, telling you that the file in question is linked to the master project, and any changes will be lost when the project is reimported. (It also gives you the option to remove this file from the import, but then you are breaking the feature that keeps the files in sync.)
So if you are just looking for a common starting ground, and then you expect your projects to be independent entities, the project template is the way to go. If you want the files to be linked and updated after they are created, then you'll want to use global project linking.
Re: Pros and cons of using template project or global projec
Thanks for such a prompt reply!
That's what I thought. The global project sounds good because of the sync capability, but it gets a little complex when using TFS for source control - which is what we are using. In this case, you would need to put the global project and child project(s) in TFS, right? Would the general workflow for synchronization be: check the global project out of TFS, update it, then check it back in; then check out each child project and re-import (either on demand or at build), then check each child project back in?
Using the template method: is there a way to update the template with modified and new files? I know this wouldn't automatically update projects that had already been created from the template, but new projects would get the latest, right?
Either way - sounds like it would be a good idea to have a single person managing this.
That's what I thought. The global project sounds good because of the sync capability, but it gets a little complex when using TFS for source control - which is what we are using. In this case, you would need to put the global project and child project(s) in TFS, right? Would the general workflow for synchronization be: check the global project out of TFS, update it, then check it back in; then check out each child project and re-import (either on demand or at build), then check each child project back in?
Using the template method: is there a way to update the template with modified and new files? I know this wouldn't automatically update projects that had already been created from the template, but new projects would get the latest, right?
Either way - sounds like it would be a good idea to have a single person managing this.
Re: Pros and cons of using template project or global projec
I have a 'template project' that contains files which are used by many projects, such as stylesheets, master pages, skins, etc.
All projects are in TFS.
The regular projects use a project import (global linking) to get the files from the template project.
The process is to:
1) If you're changing the template project yourself, update the files and check-in any changes.
1b) OR, if someone else changed the template project, open the project and do a 'get latest'.
2) Open your regular project(s) and do reimport, which will get the latest files (and automatically check-out any that changed).
The only tricky bit is that because a project import is linked to a specific location, then that path must be the same for all users.
So I'd recommend setting up the project import so it gets the project from a network path (\\server\projects\x), or from a mapped drive letter that points to your own local folder (Z:\ = c:\users\bob\projects\).
All projects are in TFS.
The regular projects use a project import (global linking) to get the files from the template project.
The process is to:
1) If you're changing the template project yourself, update the files and check-in any changes.
1b) OR, if someone else changed the template project, open the project and do a 'get latest'.
2) Open your regular project(s) and do reimport, which will get the latest files (and automatically check-out any that changed).
The only tricky bit is that because a project import is linked to a specific location, then that path must be the same for all users.
So I'd recommend setting up the project import so it gets the project from a network path (\\server\projects\x), or from a mapped drive letter that points to your own local folder (Z:\ = c:\users\bob\projects\).
