Project Documenting Machine
PDM is a tool which helps you to create a complete HTML documentation of your Visual FoxPro project.
It creates a detailed description of all databases, classes, forms, programs, reports and labeles.
It is written in VFP.
The main features of PDM are shown in the Tastrade example (Tastrade example CHM help) and using AB's plugins (AB's plugins CHM help).
This software is freeware and is distributed with source codes.
This version is developed and maintained by Martina Jindrová and comes with detailed documentation in English, Czech.
This software is localized to languages: English, Czech, German and French.
First version (PDM 1.0) is based on PDM 0.9: PDM.ZIP 128 KB.
Content
0 - Added description for VFP native classes's PEMs.
2 - New setting for showing _MemberData's Values (none, first n characters, full) Source Code: 2009-12-21.
2 - Add method description to method detail.
2 - Get name of properties and methods from _MemberData.
2 - Get description from class for derived methods.
0 - Alternative paths for files in project. (You must check "Clear Output Directory" in "Other settings")
0 - Quick file list in left panel.
2 - Setting for selecting content of quick file list.
0 - Add "Relations from" for table.
0 - Add hyperlinks to table in realtion list.
1 - UTF-8 in xhtml.
1 - Template file, Load, Save, Create new pdm As template (pmdt).
1 - New Plugin for register Classes, objectes and PEMs on fly.
1 - Better xhtml look.
1 - New Plugin "After create" for converting HTML to DOC (only WORD 2000 and higher).
1 - Save and Open data as XML file.
1 - Add support for SCX files from FoxPro 2.x for DOS and Windows.
1 - New plugin for copying HTML files to FTP site.
1 - New plugin for copying HTML files to WWW site.
1 - New plugin for burning HTML files to CD/DVD.
1 - Incremental generation for classes in VCX.
1 - Better Statistics (Count of tables, views (local/remote), Stored procedures per database) (integrate or inspiration FoxLint?!?).
0 - Use GUID in hyperlinks instead text.
0 - Better error handling.
Error message "1924 - _ENGINEDUMPFLL.DUMP_IMAGE_IMPORT_DESCRIPTOR - 401" in error log at processing FLL library.
If project or file list contains tow o more files with the same name, then PDM generate only one subfolder.
Mismatch error after saving previewer's changes at dialog "PDM user settings".
DBC event file don't process.
PDM add to quick file list files which does not handle.
Normalize path for files (?).
Bad analysing inherited objects in SCX/VCX (mysterious).
PDM 1.3.1, Source code | 2011-12-21 | |
PDM 1.3.0, Source code | 2011-03-17 | |
PDM 1.2.2, Source code | 2007-08-31 | |
PDM 1.2.2, Normal build for VFP 9.0 (please, set correct code page in config.fpw, the default is 1250) | 2006-11-23 | |
PDM 1.2.2, Source code | 2006-11-23 | |
PDM 1.2.1, Source code | 2006-06-03 | |
PDM 1.2.1, Source code | 2006-05-27 | |
PDM 1.2.0, Source code | 2005-08-18 | |
PDM 1.2.0, Source code | 2005-08-17 | |
PDM 1.2.0, Source code | 2005-08-11 | |
PDM 1.2.0, Source code | 2005-06-28 | night build |
PDM 1.2.0, Source code | 2005-06-27 | |
PDM 1.2.0, Normal build for VFP 7.0 | 2005-06-27 | |
DO [Path\]setsenv.prg
BUILD EXE pdm.exe FROM pdm.pjx
COMPILE "plug-in\*.prg"
COMPILE "plug-in\sc_mhhtml\*.prg"
COMPILE "plug-in\ab_plugin\*.prg"
DO [Path\]setsenv.prg
COMPILE "plug-in\*.prg"
COMPILE "plug-in\sc_mhhtml\*.prg"
COMPILE "plug-in\ab_plugin\*.prg"
DO go.prg
DO [Path\]setsenv.prg
* Copy source code to memmory variable _CLIPTEXT
DO gosc.prg WITH _CLIPTEXT
* output xhtml is in memmory variable _CLIPTEXT
* needed base CSS classes are in file plug-in\sc_mhhtml\base.css
(If you cannot open window, I can't help you. Really.)
Because I don't know what is problem and I don't know your HW/SW configuration, VFP projects, files etc. then...
You must define what and where is problem...
...at definying PDM file (GUI)
...at processing PDM file
...in output xhtml files
...in output xhtml files - syntax coloring (plugin sc_mhhtml)
...in hhp/hhk/hhi file (plugin ac_htmlhw)
...etc.
1) Files PDM.log & PDMErr.log
PDM create files PDM.log and PDMErr.log at processing.
File PDM.log contain log message (warnings and debug message).
File PDMErr.log contain error message and his detail information.
2) New keys ErrToDebug,LogToDebug & Coverage in file PDM.ini
(The min. version is PDM 1.2.1 source code from 2006-06-03.)
If you want redirect output log nad error message to OS debuger set value to 1 of keys ErrToDebug,LogToDebug.
Key ErrToDebug is for error message.
Key LogToDebug is for warning and debug message.
Key Coverage is file name for command SET COVERAGE TO.
Coverage file is creates for each generating documentation.
3) Own debug message - modifying source code
PDMs object has method
WriteToLogFile().
Early version the hotbuild PDM 1.2.1 2006-06-03
First parameter is text and second is flag what is warning (.T.) or debug info (.F.).
=loPDMs.WriteToLogFile("Warning",.T.)
=loPDMs.WriteToLogFile("Debug",.F.)
Hotbuild PDM 1.2.1 2006-06-03 and next version
First parameter is text and second is flag what is warning (_PDM_WrnLog), debug info (_PDM_WrnLog) or other info (without second parameter).
=loPDMs.WriteToLogFile("Warning",_PDM_WrnLog)
=loPDMs.WriteToLogFile("Debug",_PDM_DbgLog)
=loPDMs.WriteToLogFile("Other")
If variable
loPDMs doesn't define, don't panic.
You can try create local reference:
loPDMs=EVAL(This.cPDMs).
If property
cPDMs doesn't exist, you can use public variable
poPDMs.
The minimal configuration is Visual FoxPro 6.0 with Service Pack 3. This SP contain needly class "SESSION".
(released on 2007-09-01)
Core
Variable 'PDM_00551' is not found.
Bad number version for EXE if set AutoIncrement.
Object 'LOULIST' is not found if project has any FLL library.
Data type is invalid for this property.
Bad anchors for objects and objects's PEMs.
Error message "LOSET is not an object" for normal binnary package.
Slow processing big SCX files or big classes in VCX files.
Project Overview don't respect flag "Copy to repository" for file on disk.
Merging source code of more methods to one method...
Multi header file in file list if source type is "One or more files".
GUI
Missing strings in menu for czech GUI.
Missing error message if failed copy file projover.gif.
Disabled button "File list" for source "One or more files".
Bad version in "About" dialog".
Plugins
Missing "Custom links" in context and index for CHM help.
Syntax Coloring set second row of lii=5; \r\n * 10 as Comment.
Bad HHC file created by plugin HTML Help Workshop if PDM process only one file.
Bad html for method without parameters for AB DIAMP plugin.
Bad any czech character in xhtml if was used any AB plugin.
Double file records for properties in HHP file.
Error message "Property CloneSettings doesn't exist" if you open pdm project witch use AB plugins under build for VFP 7.0 .
HTML
Lost characters for long project file name, CSS files, JS files, etc...
The functionless Quick View for menu.
Blind link to free tables if exists with any DBC container.
GUI
Close bar in menu and Close button in toolbar.
New setting "Include object in GCT", default value is true.
Support for OLE Drag&Drop.
Core
Add new keys to pdm.ini file (ErrToDebug,LogToDebug,Coverage).
Add debug message if plugin don't open or initialize sources.
(released on 2005-06-24)
Core
After termination PDM startup from IDE, cannot be compile source code.
Test error number from procedure CopyDirectory().
Don't test any changes.
Random C0000005, I hope...
Showing number 19 instead error message if creating GUI failed.
Report's quick anylysing did call analyse source code instead quick analyse source code.
GUI
"File list" button have bad position.
If any other option then „user“ is selected, the related options an the other pages on main form should be disabled (Include Source Code, Include Description, Expand Source code, etc.).
Editbox was not first in dialog Setup/Cleanup.
Plugins
Many bugs in HTML Help Workshop plugin.
Detection NOTES as NOTE keyword in MHHTML plugin.
Documentation
Fixed a few bugs in documentation.
HTML
Rendering bug with class's name for Mozilla, Opera, FireFox.
If was process only one DBC file, then index.html don't redirect to DBC main html.
White spaces in property name (bad links, DIAP, etc.).
GUI
Add switch for remove VFP system menu.
Export List files for "Project" or "One or more files", output simple txt file.
"One or more files", support OLE Drag&Drop.
"Friendly Projects", support OLE Drag&Drop.
Add a MRU to the "File" menu.
Add after end HTML files show messagebox with question if PDM he's show result.
Asociate pdm file with Project Documenting Machine.
Support for shell commands Open, Print, Run and View HTML.
Add pictures into menu.
MDI GUI, better GUI. What tell more?
Showing error and warnings count immediately.
Resizable form "File process list".
Resizable form "One or More Files".
Resizable form "Friendly Projects".
More detailed status information. The forms status shows now something like "processing.*.vcx".
At least the class would be helpfull on large VCX or prg’s.
Group list on "Plug-ins" are ordered by calling now.
New setting "Run Previewer" (Never/Always/Question) on form "PDM User Settings".
Add new button into toolbar and bar into menu for show files that created plugins in group "Convert HTML to Any".
Print all html files for selected files.
Plugins
Plugin for frx2word (metadata in comment).
Plugin for HTML Help WorkShop has better context help.
Full Syntax Colorig of operators/normal and enhanced keywords syntax coloring for MHHTML plugin.
HTML
Added column "I" as "Inherited" for properties, methods and objectes of classes into list.
Indent counter for source code.
Row counter for source code.
A small changes in xhtml for programs, code for pad/bar and stored procedures.
Detailed informations about FLL files (DLL informations and FLL functions + support for DIAF and DIAMP plugins).
For all files show first description if it created.
Added link to method in parent class (method detail).
Add links to derived method (classes/objects).
Core
Comment in VCX/SCX have higher priority than comment in PJX File.
Run PDM as EXE from command line with parameters.
DOC section in PRG for classes (between DEFINE CLASS/ENDDEFINE and out PROCEDURE).
Syntax Coloring - new option "Custom".
Possibility to start the Interface with a pdm project file.
Move system pictures to folder imgs.
Move system CSS to folder css.
Move system JS to folder js.
Support multi CSS and JS files for plugins (ATTENTION, plugins which generate HTML are incompatible with plugins from version 1.1.2).
Support multi CSS and JS files for global CSS/JS.
New Plugin "After create" for run any code after create HTML doc.
New Group Plugin "Before create" for run any code before create HTML doc.
New Group Plugin "Convert HTML to Any", older plug-ins from group "After create" moved this new group.
Integration PDM with menu _MTOOLS.
DIAF plugin for DBC connection.
Added cross reference from connection to remoteview.
Added link for properties and arrays if only defined in list.
Ignore DEFINE CLASS, PROCEDURE, FUNCTION at proccesing VCX /SCX/ FRX-LBX (dataenvironment) (#IF~...#ENDIF/TEXT..ENDTEXT)
New setting for definitions how much spaces is one tab char.
Back Refererence A posibility to gather all links that point to a target, and create links on the target that point to
the places that point toward it. IOW: if method has A link to method B then automatically a link to A will be created on (only for metada).
Core
Don't support older parameters.
Plugins
Move Syntax Coloring to plugins under group "Code Formating" like as plugin "MHHTML".
HTML
Generating table description separately.
Generating view description separately.
Generating connection description separately.
Generating query description separately.
Expand icon now support only click event.
Thread priority is set to THREAD_PRIORITY_IDLE at processing.
Create anchors for all properties.
Added link for pre-arrays ( if defined array aPom(1,1) added link to aPom).
Remove array cells from property's list.
Expand/collapse body of procedures/methods by Dblclick.
(released on 2004-10-25)
After termination PDM startup from IDE, then ICO is not reset to default ICO.
Don't test any changes.
If in Project Overview define file as DOC etc, don't copy to repository.
Custom Links, If file had defined protocol file:// and was set Copy to repository, then file wasn't copy to repository folder.
After change extensions for group (Other settings, Default Extension), PDM ignore these settings.
PDM don't create anchors for object's PEMs from VCX/SCX.
Classtree for classes in VCX/PRG containes invalid hyperlinks if was generate all classes to one html page.
Setting "Delete ouput folder" is ignored if output folder containes any file with attribute RO/S/H.
Error message "Alias loPDM not found." at proccesing class cursoradapter.
Invalid internal references to PDM object in plug-ins.
Bad analysing source code with metadata.
Bad xhtml in properties's table if contains property MemberClass, MemberClassLibrary, etc.