I’ve talked a bit here about my experiences linking projects Flare. Recently, we brought new writers on to the project where we use linking, and it became apparent that we needed some sort of written guideline.
In previous releases, we experimented and tested quite a bit to arrive at these guidelines, and the linked projects grew weedy with extra files, TOCs, and rogue condition sets. It can happen quicker than you might think. This did not facilitate a new writer jumping right on the project and feeling confident about not breaking something. Our department tries to focus on creating repeatable processes, as I imagine yours does, too. Be aware that the process of linking projects has proved to be a challenge to that general principle.
Why Link Projects?
The benefit of linking Flare projects is that you can maintain help topics that are used in more than one project in their own separate project. This lets you share those topics with multiple help projects at once. An example of when you might want to do that would be to document software program A, which is not a standalone product, but a source of common code used by programs B, C, and D.
There is another reason to break topics out into their own project—it lets multiple writers work on a project at once more easily than if they were working together in one project. Recently, on a project with an aggressive schedule, we have started to work collaboratively, which was new for us. We have traditionally done one writer to one release.
For this project, we identified some code that was shared between several projects. We then moved the help topics that document those windows to their own Flare project and imported them as needed into master projects. This lets multiple writers work on the same release, but in separate projects. Without source control, this was a way to avoid getting in each other’s way.
Definitions
- Source project, or slave project – a project from which you are pulling help topics into your project. Its purpose is store help topics that are used in other projects. You do not build help systems from a source project, you only edit help topics. In the above example, the program A Flare project is the source project. It is the “source” for the help topics related to program A.
- Master project – a project into which you pull help topics from source projects. Help systems are built in master projects, but you don’t edit help topics you have imported from source projects. In the above example, the projects with help topics for programs B, C, and D would be the master projects.
Source Project Guidelines
Remember, we developed these guidelines partly because we don’t have source control. I don’t know much about source control products, but I’m guessing it would be better practice to have source control rather than to rely on this honor system. We do still run into issues.
- All files are named with a naming convention that starts with the initials of the project. For example, all html files in the program A source project start with “aa_.” This lets you identify them at a glance once they are in the master project. The link icon will also identify them, but what if you break the link?
- The TOC in a source project is for reference only, and may or may not be maintained. It is not used to build a deliverable.
- When you add a file to the source project, you must import it to the master project and add it to the TOC in the master project.
- Any necessary conditions on the file must be marked here, in the source project. Conditions on folders are applied in the master project.
- Do not rename file names in a source project. Otherwise, they will not properly overwrite themselves in the master project.
- Do not rename folders in the source project, for the same reason. Folder levels in the source project must match folder levels in the master project.
- Do not move files to other folders in the source project, for the same reason.
- When you add a file to the source project, you must import it to the master project and add it to the TOC in the master project.
Master Project Guidelines
- Conditions at the file level must be applied in to the topics in the source project.
- Conditions at the folder level must be applied to the folders in the master project.
- Any find-and-replace searches should first be done in the source projects, and the files should be reimported before doing the find-and-replace in the master project. This is important, as Flare will not respect linked file restrictions during a find-and-replace search.
- When you add a file to the source project, you must import it to the master project and add it to the TOC in the master project.
- Do not move imported files to new folders. Otherwise, they will not properly update when you import from the source projects, and there will be duplicate topics. Folder levels in the source project must match folder levels in the master project.
- On the target files, disable auto-sync of linked files. This prevents the project from re-importing files from the source projects when you build.
- To import update topics into the master project from the source projects, open the import file and reimport.
Working with Multiple Writers
- While a writer is doing a find-and-replace search, it’s best not to work in the same project as that writer, or at least not in the same section of the project.
- While a writer is building a document in the master project, no other writer should be working in the master project. If auto-syncing files is disabled for the target they are building, then other writers may work in the source projects.
- While a writer is importing topics into the master project from a source project, no one else should work in either project.
- Be careful not to work in the TOC file at the same time as another writer.
- Multiple writers can work in the same project at the same time, but not on the same file at the same time.
Does your team collaborate on Flare projects? How do you stay out of each other’s way when you share files? For us, communicating about this is the biggest help, but it’s also one of the biggest challenges.



RSS - Posts