Copy link to clipboard
Copied
I have knowledge in programming. But I find it difficult to find some solved framescript examples in the net. Could anyone of you please suggest some framescript learning resources?
Copy link to clipboard
Copied
Although framescript predated ExtendScript and is still available AFAIK, I would strongly recommend using the built-in ExtendScript instead. It is based on javascript and has a growing community of users who post their questions and answers on this forum.
As for resources - there is not much outside of this forum. Debra Herman started a blog a long time ago but got caught up with making a living, I guess. You will have to start with easy tasks, download the Scripting Guide as well as the Javascript Guide for Creative Cloud and not be afraid to fail a couple of times before succeeding in what you want to do.
Without a clear goal of what you want to achieve, any learning curve is going to be hard.
Copy link to clipboard
Copied
Thanks Jang for your descriptive answer. It was really helpful. I really appreciate your zeal and your knowledge in FrameMaker.
Copy link to clipboard
Copied
I agree with Jang about ExtendScript. While FrameScript was a robust and excellent product, it is hard to justify its usage when ExtendScript is available with the core product. While it has some bugs, ExtendScript is generally very solid.
I have lots of samples for a beginner, if you are interested:
FrameMaker ExtendScript Samples - West Street Consulting
Hope this helps,
Russ
Copy link to clipboard
Copied
The original poster will have to clarify, but for some people the term "framescript" is synonymous with FrameMaker scripting in general. The poster may actually be inquiring about ExtendScript, but using the term framescript. They may not mean FrameScript the product.
However, while I agree that ExtendScript is the preferred option over FrameScript for most uses, there are some areas where FrameScript is still much better:
1) Built in ODBC support for querying databases.
2) Built in functions for reading and writing INI files.
3) A solid interface for interacting with ActiveX/COM objects. I have personally used this for regular expressions, reading and writing spreadsheets, Word files, etc. I have also used this capability to integrate MSXML into my scripts for robust XML processing.
4) FrameScript has better support for calling command line programs and for calling other scripts.
5) FrameScript has better developer support as far as bug fixes, etc. For example, the UserString property is usable in FrameScript but not in ExtendScript and custom commands can be placed anywhere on FrameMaker's menus but not with ExtendScript. I recently submitted a bug to the FrameScript developer and he had a fix for me within a couple of days.
6) FrameScript functions are local to each script and not shared in the global FrameMaker session like ExtendScript's functions are. (Yes, I do namespace my ExtendScript scripts to avoid this, but it is not necessary with FrameScript.)
7) This is only my opinion, but FrameScript's syntax is easier and more forgiving for beginners.
I have worked with FrameScript since 1999 and have built a great business using it so obviously I am biased towards it. I estimate that 75% of my FrameMaker scripting work is now done with ExtendScript since it is the "default" Adobe scripting language. But FrameScript is a phenomenal product and I know that it has kept some of my clients in the FrameMaker fold for longer than they would have stayed without it.
Respectfully,
Rick
Copy link to clipboard
Copied
This single all-important aspect that made me move to ExtendScript without any doubt or regret is that it is included in the standard FrameMaker installation. Before Fm 10, my customers (usually tech writers in a larger company where IT owns everything to do with software packages) had to jump through a lot of burning hoops to allow installation of a plug-in, so that my scripts would solve their productivity issues.
In several cases, the tech writer had to buy the FrameScript license with her private credit card and then hope to get reimbursed - as the IT dept only did business with a software vendor - who had no intention of delivering plug-ins.
In other cases, this scenario would not have worked either, as the program folder is not writeable for anyone but IT.
Copy link to clipboard
Copied
I have no experience with framescript, so I can't tell anything about the differencies.
6) FrameScript functions are local to each script and not shared in the global FrameMaker session like ExtendScript's functions are. (Yes, I do namespace my ExtendScript scripts to avoid this, but it is not necessary with FrameScript.)
But this point led me to this construction to avoid global variables:
(function () {
Your script
})();
-
-
-
-
But it only works, if there are no events included. If so, the script "forgets" some of its variables.
Without events it works perfect and leaves no variables in memory after the script is closed
Copy link to clipboard
Copied
Rick,
You were right. I was actually inquiring about the Script IDE that comes along with FrameMaker v11? I had perceived it to be Framescript.
Copy link to clipboard
Copied
Russ, the link is incredible. I had been searching for such a site. Thank you so much.