CSH Clarification

This forum is for all Flare issues not related to any of the other categories.

CSH Clarification

Postby spatte22 on Tue Jul 17, 2018 3:31 pm

Hey there everybody,

I'm a fairly new Flare user trying to figure out context sensitive help, and I'd really appreciate it if someone could just make sure I'm on the right track and hopefully answer a few questions :wink:

Here is my general understanding of how to implement CSH with Flare:
I need to create alias and header files (header first). In the alias file, I can click the "generate identifiers for this project" icon to create a new identifier (ID) for each topic. After saving the new alias file, the header file(s) populates with all of the identifier "info" like the name and value. I also need to work with a developer to determine how we will implement a CSH "button" in the product applications for which we're providing Online Help - ie: a question mark/circle icon. After creating the identifiers, I give the developer the header(s) and a copy of the output files. Also, I work with the developer to identify which ID's correlate with their respective icons within the applications (if the automatically-generated ID names are not explicit enough), and then I suppose the developer implements them in the application? Do I need to do anything extra in Flare, as well? Lastly, since I work as part of a team, I will also create a standardized procedure guide for adding new CSH identifiers to the alias file as we add or change topics in the future.
Is that correct?



I also have a few additional questions, and again, any insight or advice would be immensely appreciated!

- if we change a topic title and prefer to have identifier names match topic titles, must we manually change the identifier name, too? how will this affect things from the developer's side, assuming we keep the value # the same?

- correct me if I'm wrong, but once the developer adds in the identifier info into an application, we can go into the alias file in Flare and assign the identifier to a different topic without breaking anything, right?
spatte22
Jr. Propeller Head
 
Posts: 3
Joined: Tue Jul 03, 2018 11:50 am

Re: CSH Clarification

Postby Dave Lee on Wed Jul 18, 2018 2:33 am

The identifier (or value) is important, since that's the key bit of information that connects your application to your help - the developer sends the identifier (or value) when they call the help.

I'd chat to your developer first to work out how you're going to set up the identifiers. You might generate them, or your developer might generate them.
Both you and your developer need to use these identifiers, so talk it though and find out what way would work best for both of you.

For example, in my projects the identifiers are created by the developer. When the app calls the help, the app generates the identifier on-the-fly based on the internal form name of that particular window/dialog, which is unique to that form. The key benefit of this is that identifiers don't need to be hard-coded in the application, which massively reduced the initial work for the developer, and eliminated maintenance for when we add new forms. The developer wrote a small tool that generates the list of identifiers in raw text, so I use that to create the header file, and then use that to create my alias file.

That might not work for you, but the important bit is to speak to the developer first before deciding how to go about this.
Dave Lee
Master Propellus Maximus
 
Posts: 5224
Joined: Mon Mar 05, 2007 8:33 am
Location: UK

Re: CSH Clarification

Postby spatte22 on Wed Jul 18, 2018 9:39 am

When the app calls the help, the app generates the identifier on-the-fly based on the internal form name of that particular window/dialog, which is unique to that form. The key benefit of this is that identifiers don't need to be hard-coded in the application, which massively reduced the initial work for the developer, and eliminated maintenance for when we add new forms. The developer wrote a small tool that generates the list of identifiers in raw text, so I use that to create the header file, and then use that to create my alias file.


Oh, really?! Well that seems like it's backwards from my understanding... that the application generates a list of identifiers that I use, rather than me creating the identifiers. (Although, I realize that as I've been going through Flare's OH I've been following the instructions starting from me creating the identifiers rather than the developer)

I appreciate the response, man. As I used this forum's search function to find info on CSH, I saw your name/responses all over the place, so ya, thanks for being willing to help people :)
I suppose from here on out, like you suggested, I need to get everything going with a developer. I've recently taken on the project, so I'm trying to understand everything before I start setting up meetings with developers and whatnot.
spatte22
Jr. Propeller Head
 
Posts: 3
Joined: Tue Jul 03, 2018 11:50 am

Re: CSH Clarification

Postby Dave Lee on Wed Jul 18, 2018 11:50 pm

spatte22 wrote:
When the app calls the help, the app generates the identifier on-the-fly based on the internal form name of that particular window/dialog, which is unique to that form. The key benefit of this is that identifiers don't need to be hard-coded in the application, which massively reduced the initial work for the developer, and eliminated maintenance for when we add new forms. The developer wrote a small tool that generates the list of identifiers in raw text, so I use that to create the header file, and then use that to create my alias file.


Oh, really?! Well that seems like it's backwards from my understanding... that the application generates a list of identifiers that I use, rather than me creating the identifiers. (Although, I realize that as I've been going through Flare's OH I've been following the instructions starting from me creating the identifiers rather than the developer)


Not really - we are still creating those identifiers and mapping them in Flare. All I wanted you to do was think about was how you go about creating the identifiers, as there may be more sensible options than just using Flare to auto generate them for you.

I could have created my own list of identifiers, then asked the developer to add those identifiers to the app for the help calls. But that's a lot of effort for the developer (we have about 2000 identifiers), and it means that any changes to identifiers (adding new identifiers, or correcting mistakes) require a code change in the app - something we really wanted to avoid.

So rather than do that, I asked the developer if there was anything that's already built-in to the app that we could re-use as an identifier for use in the help calls. Since it's a Windows app, each dialog/form in the app has an unique form name, so we could use that as an identifier when we make a help call. So if the form name was Product.Widget.Module.FormName, we could use that in the help and send the identifier Product_Widget_Module_FormName. The hard bit then was to create a list of all these identifiers and map them to topics in the Flare alias file, but that was work for me and not the developer. But it still halved the work overall, since the developer didn't have to hard-code thousands of identifiers in the app.
Dave Lee
Master Propellus Maximus
 
Posts: 5224
Joined: Mon Mar 05, 2007 8:33 am
Location: UK


Return to Flare's General Discussion

Who is online

Users browsing this forum: No registered users and 6 guests