Introducing ASuLiB - Annotation Subject List Builder

Forum for the PDF-XChange Editor - Free and Licensed Versions

Moderators: TrackerSupp-Daniel, Tracker Support, Paul - Tracker Supp, Vasyl-Tracker Dev Team, Chris - Tracker Supp, Sean - Tracker, Ivan - Tracker Software, Tracker Supp-Stefan

Post Reply
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hi,

I am pleased to introduce ASuLiB, a rough but modern and effective way
to handle multiple topics associated with annotations.

ASuLiB originates from a post that I published on January 20, 2018.
At the time, I was reporting a glaring lack of functionality to handle annotations,
especially if we wanted to associate several topics to an annotation. Here's
the link to that post:
Tracker was interested enough to create a feature request ticket in his internal system.
Here's the number and the title of this request if you want to participate and give some
ideas about an advanced and modern annotation management system:
  • #4209: Editor FR: 'Annotations' plug-in with extended features!
You can use the original post above to participate.

If Tracker has no objection, I will dedicate this post to collect your comments about ASuLiB.
I will also release updates, especially to fix imperfections and bugs.

In what follow, I will use topic, subject, tag and keyword as synonymous.

OVERVIEW

You may have wondered why it was impossible to associate
multiple topics with annotations. It is rare in fact that
an annotation refers to only one subject. Whether we come
from a corporate or academic milieu, when we are working
on a report or a paper we have to juggle with several topics. To my
knowledge, PDF software that closely follows PDF standards do
not offer this ability to handle multiple topics at once and
one annotation at a time, and software that offer such a
possibility, such as Qiqqa, do not follow PDF standards.

In order to be clear, in XChange Editor, you create a subject by opening
the properties pane of an annotation. You can open the properties pane by
right clicking on an annotation and selecting "Properties...". The first
property in the property pane is the subject property. You type the
desired properties inside the subject field.

The management features of comments have hardly changed
since the late 1990s. Comment management is based on fairly good
collaboration tools but on a primitive way to get an overview of
comments, the famous "Summarize Comments". This latter feature
manages comments based on a sorting of topics and not on the basis
of multiple topics search.

For example, you have the following two subject property fields from
2 different annotations (annotations can be of any type since subject
property is a property common to all types of annotation). The first
field is filled with 3 subjects and the second field with 2 subjects.
Subjects are separated by semicolons :
  • First Annotation: universal proposition; Popper; testability
  • Second Annotation: testability; scientific truth

(you may think of an annotation as an index card with multiple subjects
written on it; yes, I'm old but I see that we can mimic, in a better way,
the good old index card system!)

If you use Summarize Comments feature and sort by subject, you will get
a new PDF file with a list of comments. The second comment up there
will be first in that list and the first comment will be second.
So sorting treat the subject field as a single string. There is no way to
get only those comments with, say, 'scientific truth' or only those
comments with 'scientific truth' AND 'Popper', etc.

It is also impossible to get a list of all subjects from all annotations
of all PDF files in a given folder, which would be the bare minimum. For
example, it is impossible to have the following list form the above
subject field properties:
  • Popper
  • scientific truth
  • testability
  • universal proposition

Moreover, it is impossible to make a "Search and Replace Subject" across all
subjects from all annotations of all PDF files in a given folder.

This is a most unpleasant situation since the non existence of an advanced
annotation management system means that we have to work both on
screen and in print. If we had an advanced annotation management
system, we would not have to print PDF files or comment summaries.

So, since we do not have such a system for now, I programmed this
script so that at least we would have a list of all our topics. This list
allows at least to track subjects. I also programmed some basic statistics,
such as the total number of annotations, the total number of PDF files
processed, and so on.

I did not try to optimize the script but the performance of the script
is very good.

I have a folder containing 598 PDF files for a total of 3.5 GB
(yes, I put all my PDF files in one folder and use Zotero, a free
reference manager, to manage these files). A first fresh run took
2 minutes 10 seconds and a second run took 1 minute (maybe it is due
to memory cache issue).

Here's the stats for my PDF folder:
  • Total number of PDF files processed : 598
    Number of PDF files with annotation : 140
    Number of PDF files without annotation : 458

    Total number of annotations : 5757
    Number of annotations with subject : 3930
    Number of annotations without subject : 1827

    Number of unique subjects (without duplicates): 291
    Number of subjects occurrences (with duplicates): 4453


There is three codes below after the installation section.
  • The first code is for the main JavaScript file.
  • The second code is for the VBScript file.
  • The third code is for the batch file.
You do not have to edit the first file. Only the VBScript
file and the batch file must be modified.

The process can seems tedious but it is simple. The VBScript file
is modified only once and the batch file is only modified only if
you add more folder locations after the first setup.

But before looking at the installation instructions, let's see what the
list generated by ASuLiB can serve.


UTILIZATION

After generating the list of topics using ASuLiB, you can
use this list to perform different tasks.

A first important task is to clean the subjects. Since we do not have
a system for updating the list in real time (so we need to generate the
list from time to time), we can enter subjects in slightly different forms.

For example, you may have entered the following subject in two different
forms: anti-realism and antirealism. The list will then reveal both forms. You
can then correct the entries with the form you have chosen.

How to find these forms? Here, XChange Editor has a quite powerful search
feature (I say quite powerful because it could be more powerful). If you press
Ctrl-Shift-F, you open the Advanced Search Panel.

Click on the "Advanced Criteria" radio button. In the "Find text with:" section,
you can specify topics to search for. In the "WHERE would you like to search?" section,
you can specify the path of a PDF file folder. Finally, click on "Options ...".
A menu will open, divided into 7 sections.

To search for comments only, not a full-text search for example, in section 2, you need
to uncheck all options except "Include Comments". Finally, in order to be able to search
for topics that are not adjacent, click on "Proximity" and then on "Words form the Same Paragraph".

Let's go back to our example. Let's say you chose to use the form "Anti-Realism". Then,
in the field "all of these words" from "Find text with:" section, enter "Antirealism" to find it
among all your annotations and be able fix it. Choose your folder then click "Search...".

XChange Editor displays the results of the search in the bottom section. Each file that
contains annotations with a topic "Antirealism" is displayed. On the
left is a small arrow that reveals the annotations found for each file. Click on this small
arrow and then click on an annotation. Miracle! The file opens almost instantaneously directly
on the annotation.

If the properties panel is not yet open, open it by right-clicking on the annotation and
selecting "Properties" at the bottom. The first property in the panel is "Subject". You can make
your correction then press "Enter" and Ctrl-S.

You'll probably guess that another way to use the list is to search for annotations (index cards !!)
on one topic or on multiple topics at once. With the advanced search panel, the
search possibilities are immense. Here's a tip: To identify a project, such as a writing
project, find a code name for that project and enter that code name as the subject for
all annotations that are relevant to that project.

You begin to understand that an advanced annotation management system would offer
even more powerful features.

Look forward to taking a step towards the future. So follow the instructions that follow.

INSTALLATION

A) Overview

As implemented at this time, ASuLiB relies on 4 files:
1) the main file is a JavaScript file which generates the list
of subjects and statistics;
2) there is a batch file that generates a list of PDF file names
to process;
3) and there is a VBScript file whose purpose is to make sure that the
batch file works in silence (in the background)
4) A text file which contains the PDF filenames to be processed

ASuLiB as such is saved in a javascript file named
"ASBL-Annotation_Subjects_ List_Builder.js". This file
has to be put in a specific folder so that XChange Editor read
the file at startup.

Since I am not able to program in JavaScript in such a way that
I can get the filename of all the PDF files to be process in a given folder,
we must generate a .txt file that contains those filenames. The text
file is named "_aslbFilenames.txt" and is generated automatically by
the bath file.

The generation of the text file is done automatically at Windows startup
by the batch file. The batch file is named "_aslbFilenames.bat". In the
batch file you specify the folder(s) where are the PDF files
to be processed. So you have to put the batch file in the Windows folder
Startup. Don't be worry about this process at startup. It is ultra fast,
less then one second.

You must also put the VBScipt file in the Windows folder Startup.

Once everything is in place, you start XChange Editor. Editor reads the
JavaScript file. You should see a toolbar or ribbon named
"Add-on Tools" (if you don't see it, activate it by right clicking
anywhere in a toolbar or a ribbon and select "Add-on Tools"). There is
a new button (with the default piece of puzzle icon) called
"ASuLiB - List".

If you click on "ASuLiB - List", a dialog ask you to choose a folder.
Once the folder is selected the process of generating the subject
list will start.

You know when the process is complete when the report, in PDF format,
appears on the screen in XChange Editor. During the operation,
a progress bar appears on the screen. If you do not have many files,
the bar will appear and disappear very quickly, to the point that you
may not notice it.


B) Detail instructions

1) Copy the first script in a text file and save it in the following folder:

C:\Program Files\Tracker Software\PDF Editor\JavaScripts

with the following name:

"ASBL-Annotation_Subjects_List_Builder.js"

Warning: If the folder "JavaScripts" does not exist, create it
(beware it is case sensitive so you have to write "JavaScripts")

2) Copy the VBScript in a text file and save it in the following
Windows startup folder:

C:\Users\YOUR_USER_NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

Replace "YOUR_USER_NAME" by your user name.

Use the following names for the VBScript file:

"_aslbFilenames.vbs"

Now, copy batch script in a text file and save it in any folder you want.
(it does not matter where the bath file is)

Use the following names for the batch file:

"_aslbFilenames.bat"

3) Open the VBScript file "_aslbFilenames.vbs" in a text editor by
right clicking on the file and then choose a text editor like Notepad.

(Personally I use Notepas++ which allows you to color the code
if you choose the right programming language in the Language menu.)

Change the path to point to the folder where you saved the batch file.

4) Open the batch file "_aslbFilenames.bat" in a text editor

In the batch file, you can specify as many paths as you want.
In other words, you can create as many path as you have PDF folder.

Each path specification has two lines as follow:

cd /D C:\THE\PATH\TO\A\PDF\FOLDER\TO\BE\PROCESSED
dir /B> _aslbFilenames.txt

You have to specify a path in the first line and there is nothing
to change in the second line.

The command "cd" is for "change directory". So the batch file go to
the specified folder. The parameter /D is to ensure that you can
drive and not only folder.

The command "dir /B>" is a composite command. The "dir" command
generate a directory listing.

The "/B" parameter specify to list only filenames (not folders
or any other information).

The ">" command redirect the output to the text file
"_aslbFilenames.txt" instead to the default console output.

So both lines together generate a text file with all the filenames
from the files in the folder and save it in the same PDF folder.

5) Now you can restart Windows so that the VBScript file and the batch file
generate all your text files named "_aslbFilenames.txt", one per
specified folder.

6) Then Start PDF-XChange Editor

Editor reads the JavaScript file. You should see a toolbar or
ribbon named "Add-on Tools" (if you don't see it, activate
it by right clicking anywhere in a toolbar or a ribbon and
select "Add-on Tools"). There is a new button (with the default
piece of puzzle icon) called "ASuLiB - List".

If you click on "ASuLiB - List", a dialog ask you to choose a folder.
Go the a PDF folder and click open.

Once the folder is selected the process of generating the subject
list will start.

You will notice that the dialog filename field is already filled
the text file filename "_aslbFilenames.txt". Don't be worry if you
click on PDF file and the filename change. The code catch the error
and change for "_aslbFilenames.txt" in the background. So just
click open. (In fact, it is a dialog to choose a single PDF file,
but I tweak the code so the filename field is already filled with
the filename "_aslbFilenames.txt". You can click on a PDF file if
you want to make sure the folder is activated, then click open).

You know when the process is complete when the report, in PDF format,
appears on the screen in XChange Editor. During the operation,
a progress bar appears on the screen. If you do not have many files,
the bar will appear and disappear very quickly, to the point that you
may not notice it.



1) First code filename: ASBL-Annotation_Subjects_List_Builder.js

Code: Select all

/*	ASuLiB 1.1 (Annotation Subjects List Builder 1.1)
		François Maurice, 2018
		Free to use as it is
		
		I am not responsible for the use of the ASuLiB script
		or any damage it may cause
		
		This script was not tested on any PDF software other than
		PDF-XChange Editor
		
		Tested using PDF-XChange Editor Pro 7.0.324.3 on Windows 10.0.16299
		
		I do not commit myself to implement new features
		but I will do my best to correct any imperfections and bugs
		
		To be honest, if no existing software develops an advanced
		and modern annotation management system, I will probably,
		within a year or two, develop a feature to search and
		replace topics
 */
 
 /* ACKNOWLEDGMENTS
 
	I want to thank the Tracker team for showing great patience
	and for giving me hints on how to solve my problem.
	
	I also want to thank all the programmers who leave bits of scripts
	everywhere on the Internet. Without these scripts I would not have
	been able to program ASuLiB as quickly.
	
	Finally, I used as main reference the following books:
	
		JavaScript: The Definitive Guide (2011) by David Flanagan
		
		Developing Acrobat Applications Using JavaScript (2006)
			from Adobe Systems
			
		JavaScript for Acrobat API Reference (2007)
			from Adobe Systems	

 */
 
 // BEGINNING OF THE SCRIPT
 
// TRUSTED FUNCTIONS
// Method "app.openDoc" necessitates security privileges
	
aslbTrustedOpenDoc = app.trustedFunction(
function (path, hiddenfile)
{
	app.beginPriv();

	//Get a file from folder 
	var myOpenDoc = app.openDoc({cPath: path, bHidden: hiddenfile});

	app.endPriv();

	return myOpenDoc;
});


// WRITE ANNOTATION SUBJECTS TO A PDF REPORT (with additional stats)
	// All the code is enclosed in a pseudo-function which will be called by
	// a button from the GUI
function aslbList()
{
	
delete global.startBatch;

if ( typeof global.startBatch == "undefined" )
{
	global.startBatch = true;
	
	// When we begin, we create a blank doc in the viewer to hold the
	// attachment.
	global.myContainer = app.newDoc();

	// Ask th user to choose a folder where to find the text file
	// "_aslbFilenames.txt"
	// The filename "_aslbFilenames.txt" is already filled by default
	var oRetn = app.browseForDoc({cFilenameInit: "_aslbFilenames.txt"});
	//var oRetn = app.browseForDoc();
	if ( typeof oRetn != "undefined" )
	console.println(oRetn.cPath);
	else console.println("User cancelled!");
	
	// The browseForDoc method return a full path which can cause a problem
	// if the user click on a PDF file while choosing a folder where to
	// find the text file "_aslbFilenames.txt"
	// So that snippet eliminate the filename from the file path
	var lastSlashPosition = oRetn.cPath.lastIndexOf("/");
	var stringPath = oRetn.cPath.slice(0, lastSlashPosition + 1)
	console.println(lastSlashPosition);
	console.println(stringPath);
	
	// Import a file as an attachment to hold all the filenames from a folder
	// Since parameter cDIPath is not specified, the user is prompted to
	// locate the file
	// The file was created via DOS prompt with the name "_aslbFilenames.txt"
	global.myContainer.importDataObject({
		cName: "_aslbFilenames.txt",
		cDIPath: stringPath + "_aslbFilenames.txt"
	});
	
	// Get the file stream object of the embedded text file
	var aslbFilenamesContent = global.myContainer.getDataObjectContents("_aslbFilenames.txt");
	// Convert to a string
	var asblFilenamesContentString = util.stringFromStream(aslbFilenamesContent, "utf-16");
	// Print the content of _aslbfilenames.txt to the console
	console.println(asblFilenamesContentString);
		
	// Initializing variables
	var dataLine = "";
	var annotsSubject = "";
	var annotsSubjectSplit = "";
	var myOpenDoc = [];
	var totalNumberFiles = 0;
	var totalNumberAnnots = 0;
	var countEmptyAnnotsFile = 0;
	var listAnnotsFile = "";	
	var listEmptyAnnotsFile = "";
	var countEmptySubjects = 0;
	var countSubjectOccurrences = 0;
}

try
{
 	// CREATING THE PATH ARRAY
	// Split the string "asblFilenamesContentString" into an array
	asblFilenamesContentSplit = asblFilenamesContentString.split("\r\n");
	
	// OPEN EACH FILE AND EXTRACT SUBJECTS
	
	// Add a progress bar
	var numPDFFiles = asblFilenamesContentSplit.length
	var t = app.thermometer; // Acquire a thermometer object
	t.duration = numPDFFiles;
	t.begin();
	
	for (var k=0; k < asblFilenamesContentSplit.length; k++)
	{
		
	// Skip filenames which are not .pdf or .PDF
	if (asblFilenamesContentSplit[k].slice(-4) != ".pdf" &&
		asblFilenamesContentSplit[k].slice(-4) != ".PDF") {continue};
		
	// Call trustedFunction js file
	myOpenDoc = aslbTrustedOpenDoc(stringPath + asblFilenamesContentSplit[k], "true");
	//myOpenDoc = aslbTrustedOpenDoc(stringPath + asblFilenamesContentSplit[k]);
	

	// Display the progress bar
	t.value = k;
	t.text = "Processing PDF file " + (k + 1) + ": "
				+ myOpenDoc.documentFileName;
	if (t.cancelled) break; // Break if the operation is canceled
	
		// Wait until all comments have been scanned.	
		myOpenDoc.syncAnnotScan();

		// Sort through the comments, adding tab-delimited lines to data string.
		var annots = myOpenDoc.getAnnots({});
		
		if ( annots != null )
		{
			
			for (var i=0; i < annots.length; i++)
			{
			
			totalNumberAnnots++;
			// Skipping annotations without subjects
			if (annots[i].subject.length == 0) {
				countEmptySubjects++;
				continue;
			};
			
			// Collect the string from every annotation's subject property
			annotsSubject = annots[i].subject;
			
			// Split the string into an array so that multiple subjects from one
			// annotation become an independent string
			// If you use another subject delimiter instead of ";", change it here
			annotsSubjectSplit = annotsSubject.split(";");
			
				// Leading and trailing whitespace removed		
				// Every subjects from all annotation are put on separate line
				for (var j=0; j < annotsSubjectSplit.length; j++)
				{
				annotsSubjectSplit[j] = annotsSubjectSplit[j].trim();
				dataLine += "\r\n"+ annotsSubjectSplit[j];
				}
			}
		
		listAnnotsFile += "\r\n" + myOpenDoc.documentFileName;
		
		} else {
				console.println("The document " + myOpenDoc.documentFileName + " contains no annots.");
				countEmptyAnnotsFile++;
				listEmptyAnnotsFile += "\r\n" + myOpenDoc.documentFileName;
				}

		myOpenDoc.closeDoc();
		totalNumberFiles++;

	//delete global.startBatch;
	//global.startBatch = true;
	}
	t.end();
	
	// Splitting string into an array and sort subjects in alphabetical order
	dataLineSplit = dataLine.split("\r\n");
	dataLineSplit = dataLineSplit.sort(function(s,t) {
           var a = s.toLocaleLowerCase();
           var b = t.toLocaleLowerCase();
           if (a < b) return -1;
           if (a > b) return 1;
           return 0;
       });
	
	// Obtain a count of each subject
	function compressArray(original) {
 
		var compressed = [];
		// make a copy of the input array
		var copy = original.slice(0);
	 
		// first loop goes over every element
		for (var i = 0; i < original.length; i++) {
	 
			var myCount = 0;	
			// loop over every element in the copy and see if it's the same
			for (var w = 0; w < copy.length; w++) {
				if (original[i] == copy[w]) {
					// increase amount of times duplicate is found
					myCount++;
					// sets item to undefined
					delete copy[w];
				}
			}
	 
			if (myCount > 0) {
				var a = new Object();
				a.value = original[i];
				a.count = myCount;
				compressed.push(a);
			}
		}
	 
		return compressed;
	};
	
		var dataLineCompressed = compressArray(dataLineSplit);
		dataLineCompressed = dataLineCompressed.sort();
		for (var i = 0; i < dataLineCompressed.length; i++) {
			console.println(dataLineCompressed[i].value + " " +
							"(" + dataLineCompressed[i].count + ")");

		countSubjectOccurrences = countSubjectOccurrences + dataLineCompressed[i].count;
		
		}
	
		// CREATE THE REPORT
		var oReport = new Report();
		// Set up Report Title 
		oReport.style = "NoteTitle"; 
		oReport.size = 1.6; 
		oReport.writeText("ASuLiB - Annotation Subject List Builder"); 
		oReport.divide();
	
		// Add some stats to the Report
		oReport.style = "NoteTitle"; 
		oReport.size = 1.2; 
		oReport.writeText("");		
		oReport.writeText("Statistics"); 
		oReport.divide(); 
		
		oReport.style = "DefaultNoteText";
		oReport.size = 1;		
		oReport.writeText(
			  "Total number of PDF files processed : " + totalNumberFiles
			+ "\r\nNumber of PDF files with annotation : " + (totalNumberFiles - countEmptyAnnotsFile)
			+ "\r\nNumber of PDF files without annotation : " + countEmptyAnnotsFile
			+ "\r\n"
			+ "\r\nTotal number of annotations : " + totalNumberAnnots
			+ "\r\nNumber of annotations with subject : " + (totalNumberAnnots - countEmptySubjects)
			+ "\r\nNumber of annotations without subject : " + countEmptySubjects
			+ "\r\n"
			+ "\r\nNumber of unique subjects (without duplicates): " + dataLineCompressed.length
			+ "\r\nNumber of subjects occurrences (with duplicates): " + countSubjectOccurrences
							);
							
		// Fill the report with subjects and counts
		oReport.style = "NoteTitle";
		oReport.size = 1.2;
		oReport.writeText("");
		oReport.writeText("Subjects List"); 
		oReport.divide(); 
		//oReport.writeText("");
		
		oReport.style = "DefaultNoteText";
		oReport.size = 1;
		for (var i = 0; i < dataLineCompressed.length; i++)
		{
		oReport.writeText(	dataLineCompressed[i].value
							+ " " 
							+ "(" 
							+ dataLineCompressed[i].count 
							+ ")"
						);
		}
		
			oReport.style = "NoteTitle";
			oReport.size = 1.2;
			oReport.writeText("");
			oReport.writeText("PDF files with annotation"); 
			oReport.divide();
			
			oReport.style = "DefaultNoteText";
			oReport.size = 1;
			oReport.writeText(listAnnotsFile);

			oReport.style = "NoteTitle";
			oReport.size = 1.2;
			oReport.writeText("");
			oReport.writeText("PDF files without annotation"); 
			oReport.divide();
			
			oReport.style = "DefaultNoteText";
			oReport.size = 1;
			oReport.writeText(listEmptyAnnotsFile);
		
		// Open report into a PDF
		oReport.open("ASuLiB - Subjects List");
	
}	catch(e) {
		console.println("Error on line " + e.lineNumber + ": " + e);
		delete typeof global.startBatch;
		event.rc = false;   // abort batch
	}
}



// ADD BUTTONS TO THE GUI
	// The buttons are added automatically to the Add-ons toolbar or ribbon
	// First button: ASuLiB - List
app.addToolButton({
    cName: "Annot Subj Lst Bld",
    cExec: "aslbList()",
    cTooltext: "Annotation Subjects List Builder",
	cLabel: "ASuLiB - List",
    cEnable: true,
    nPos: 0
});

// END OF SCRIPT

2) Second code filename: _aslbFilenames.vbs

Code: Select all

Set WshShell = CreateObject("WScript.Shell" ) 
WshShell.Run chr(34) & "C:\Users\YOUR_USER_NAME\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\_aslbFilenames.bat" & Chr(34), 0 
Set WshShell = Nothing 
3) Third code filename: _aslbFilenames.bat

Code: Select all

REM ASuLib - Annotation Subject List Builder

REM The batch file to generate the text files which contains the PDF filenames
REM Only modify the first line of each block of two lines.
REM You specify a path on that line where to find PDF files

@echo off

REM First PDF folder
cd /D C:\THE\PATH\TO\A\PDF\FOLDER\TO\BE\PROCESSED
dir /B> _aslbFilenames.txt

REM Second PDF folder
REM Remove REM on both line below if you want to add a path
REM cd /D C:\THE\PATH\TO\ANOTER\PDF\FOLDER\TO\BE\PROCESSED
REM dir /B> _aslbFilenames.txt

REM Add as many folders as you want.
REM Just copy a block of two lines below and change the path
Last edited by francois maurice on Tue Mar 06, 2018 11:33 am, edited 8 times in total.
User avatar
TrackerSupp-Daniel
Site Admin
Posts: 8436
Joined: Wed Jan 03, 2018 6:52 pm

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by TrackerSupp-Daniel »

I am glad to see someone so passionate about our software and organization/management.
I am adamant about organizing my files/folders, and appreciate someone who shares my love for it. I do hope this turns out well, I've also pointed this post out to the developers here, :)
Dan McIntyre - Support Technician
Tracker Software Products (Canada) LTD

+++++++++++++++++++++++++++++++++++
Our Web site domain and email address has changed as of 26/10/2023.
https://www.pdf-xchange.com
Support@pdf-xchange.com
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Thanks Daniel to point this post out to the developers at Tracker.

Yes, I love to work with a well organized files and folders structure.

I hope my script will be of some use to anyone working intensively with annotations.

By the way, if nobody told you, you are unbeatable at Tracker! :wink:

François
User avatar
TrackerSupp-Daniel
Site Admin
Posts: 8436
Joined: Wed Jan 03, 2018 6:52 pm

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by TrackerSupp-Daniel »

:) thank you for the compliment, I'm glad to hear we are so highly regarded!
You have a great day.
Dan McIntyre - Support Technician
Tracker Software Products (Canada) LTD

+++++++++++++++++++++++++++++++++++
Our Web site domain and email address has changed as of 26/10/2023.
https://www.pdf-xchange.com
Support@pdf-xchange.com
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

UPDATE: ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hi,

Here's a first update. It fixes a minor issue.

The command prompt window was displayed on the screen, which should not be the case.
To remedy the situation, simply save the batch file in a directory other than the Windows startup
directory and modify the VBScript so that it points to this new location.

I modified the installation instructions in the original post.

François
User avatar
Tracker Supp-Stefan
Site Admin
Posts: 17810
Joined: Mon Jan 12, 2009 8:07 am
Location: London
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Tracker Supp-Stefan »

Thanks for the update François!

Cheers,
Stefan
vee
User
Posts: 14
Joined: Fri Dec 05, 2014 12:59 pm

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by vee »

Hi François

Really like this idea - good effort! Unfortunately I can’t get it to work!! I have it generating _aslbFilenames.txt correctly, I have the ASuLiB button appearing in Xchange Editor, I have the Editor opening to the correct folder when clicking the ASuLiB button, I have _aslbFilenames.txt coming up correctly in the dialog filename field and I have the progress bar. After that, nothing. Very frustrating because this would be exceptionally useful!

Have you seen this thread - I’ve referred to your plugin and hopefully we’ll get some movement.
viewtopic.php?f=62&t=22846&p=130758#p130758

Cheers!
vee
User
Posts: 14
Joined: Fri Dec 05, 2014 12:59 pm

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by vee »

Hi Francois

Happy to say - got this working. (Just needed to update Xchange Editor.)

Great work and thank you very much for making this available!

May I make a suggestion/request?

Your output list is useful, for the reasons you already explained but we need to have a way of linking subjects to pdf file or else there’s not much more we can do with this otherwise useful information!

The global subject list is good for the purpose you mentioned of subject overview and cleaning subject list but because it has no link to the relevant pdf it doesn’t enable us to go to a particular pdf with the subject.

Would it be possible to add 2 more sections to the report:
- each pdf file, with list underneath of subjects in that file
- each subject heading, with list underneath of pdf files containing that subject

Not sure yet which would be most useful but both ways definitely have good uses when planning out or compiling a piece of work containing the annotated information.

Many thanks again.
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hi vee,

I'm glad to hear that you managed to make ASuLiB work.

I check the other thread you reference on the subject:
viewtopic.php?f=62&t=22846&p=130758#p130758

I'm glad to see I'm not alone to think it could be a good addition to Editor.

As far as your request is concerned, these are good ideas. I do not have time immediately to program these features, but I will try to do it in the coming weeks.

Keep in mind that the script sometimes stops. This occurs if the file names use special characters or if the PDF file is corrupted. So, look at this if the script stops. I will try to catch the error during the next ASuLiB update.

The fact remains that our fate is in the hands of the excellent programmers at Tracker. :D

François
vee
User
Posts: 14
Joined: Fri Dec 05, 2014 12:59 pm

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by vee »

Hi Francois

Thank you - that would be great.

Now that I realise it's possible to work with pdf's like this, I'm also feeling motivated to learn some java! This script could make research work so much more efficient - fluid and organised at the same time. Excellent!
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hi vee,

Here is where I am with my research system.

I work with three screens. One screen for the Search Pane (full screen), one for the XChange Editor and one for the Word document I'm working on. I need all this to do serious research and writing without printing anything.

Then, since I have 1,500 PDF files for a total of 13GB in one folder, I use other software to manage everything. I use a simple naming convention for each file: Author-Date-Title.pdf.
.
  • Xchange PDF-Tools to do some batch file operations, as optimizing a bunch of PDF files;
  • Zotero reference manager (free) to create collections. That's a good use of a reference manager. All the PDF in one folder, but you organize your source as you want in a reference manager, by project for example. As a bonus, you can insert references directly in you text in Word and Zotero keep it updated;
  • FreeFileSync (free) to backup those precious PDF files in an external drive;
  • Resilio (free for private use) to sync the folder between my computer, my android cell phone and my android tablet. Resilio don't keep anything in the cloud and use the torrent technology. For my cell and my tablet I added a 128GB micro SD card on which I sync. Another reason to use Resilio is that Google Drive and Microsoft OneDrive don't sync automatically on android. You have to buy a third-party app to do the syncing.
  • AVS Document Converter (free) to convert many format to PDF (I just use PDF :D ). You can do batch conversion.
  • ePUBee Magic (free) to crack DRM from book I bought :wink: . As the saying goes, a DRM file is a lost file..
  • DocFetcher (free) or Recoll (small fee) to do really fast full text search. XChange Editor is pretty fast, but with 1500, it can take a while. Both software index the PDF files to be able to do a fast search. I'm not sure about Recoll, but DocFetcher display the result in plain text format (not in PDF format as the Search Pane do in XChange Editor). But at least, the software take you to the specific location in the PDF file. After this, it is easy to copy a sentence and do a search in Editor within this document to go to that place.
  • MathType (paid), an extension for Word (and many other apps) to insert math equations. The Math Editor in Word since Office 2010 is good, but I need something more powerful. Since I don't know LaTeX, so I use MathType.
  • And ASuLiB to keep track and clean my important subjets-tags from all the annotations from all the PDF in my folder !!
With this setup, I can say it is pretty cool to work 8) . I just finished a translation (from English to French), I work on an article and I'm working on launching an issue of an academic journal for this fall. It can be done by other means, but it is nice to do it that way.

All PDF.

François
vee
User
Posts: 14
Joined: Fri Dec 05, 2014 12:59 pm

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by vee »

Salut Francois

I tried Zotero but when Firefox and Zotero went to WebExtensions, I moved on. A large part of my source material is collected in Firefox Scrapbooks so new Firefox and Zotero isn't much use to me (because Scrapbook won't work). As well as clipping from the web, it was easy to drag in files from anywhere on the computer and Scrapbook has a simple tree-structure and an excellent search engine so info retrieval is a breeze.

I now prefer Citavi, though in all cases - I’ve tried a number of Knowledge/Reference/Citation managers - the real problem is what you do with the hard-won information gathered pre a particular reference manager. Particularly regarding highlighted parts of pdf’s.

Citavi can import pdf’s, they will retain the highlights previously made but these highlights are not imported to the database... so you have to go through each document manually adding them as knowledge items.

Other than that, Citavi is pretty good and has most of what one needs - tagging, interlinking, ordering, compiling, previewing, highlighting... Particularly useful is the way in which one can arrange source reference collections and resulting knowledge-item collections according to keyword and category. You can manually re-order items within category, save that order/compilation then re-order and try a different compilation then print or export whichever you prefer. This is a super quick and powerful way to bring all quotes/highlights/knowledge-items into a structured form as a base for ones written report.

Citavi doesn’t seem suited as a general knowledgebase. I use it instead as a per project compilation tool because the reality is that my computers, with all the source material stored in various places and forms, are my real knowledgebase. Which means I’m more interested in ways to work with that information, before getting it to the reference manager and compiler stage - the raw source info if you will.

I have gb’s of pdf’s, gb’s of internet info. Most is easily ordered, searchable and accessible using a combination of Scrapbook and Benubird. However, up to now, highlights in the pdf collection were a problem. Highlights were not easily findable except by making manual notes and then opening the correct document. Now we have your script and that looks like making the retrieval of info much more fluid and on a batch basis as opposed to a per document basis. The enormous difference being that in order to know/remember/find a particular highlight one previously had to have thought about it and made that note so as to know which doc to open in the first place - of course one doesn't do that unless you first know the particular project you're working on!

With your script we can now have a report of the whole list of subjects contained within all the pdf’s - and if you implement the extra reporting criteria previously suggested, we will also have a note of exactly which docs to go to that contain the subject tag for the annotations that might be of interest for a new project. That’s going to be very helpful.

Well, there you go - a little context for why I like your script so much. Good job and thanks again!
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hi vee,

Thanks to share your experience.

Here's a tip while using ASuLiB:

If an annotation concerns one or more projects, I insert a project ID in the Subject Propert field. For example, I use a simple digital system for each project, like 0023. Since for ASuLiB it is just a subject-tag, the projects are reflected in ASuLiB's report. In this way, I can find all the annotations in all PDF files by using the Search Pane of Editor and search only within Comments (not full text search ) for a specifis project.

I'm looking forward to implement the two features you've proposed.

François
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hi,

I have a question.

I consider the idea of developing a plugin.

I need some advice to get started. Since I only want to develop a plugin for Editor and I am not a professional programmer, which IDE and which programming language do you recommend?

Also, is PDF-XChange Editor SDK the best choice for developing a plugin?

Thanks,

François
Sasha - Tracker Dev Team
User
Posts: 5522
Joined: Fri Nov 21, 2014 8:27 am
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Sasha - Tracker Dev Team »

Hello François,

Developing a plugin is not an easy matter. The optimal language for plugin writing would be C++, and also, the plugin itself should be implemented via the Editor SDK interface usage. And all of that is not an easy matter.
Also, can you please explain shortly what do you want to achieve by minimal requirements so that I can see the complexity of the solution.

Cheers,
Alex
Subscribe at:
https://www.youtube.com/channel/UC-TwAMNi1haxJ1FX3LvB4CQ
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Thanks Sasha,

I was hoping it would be relatively easy to develop a plugin with Editor SDK and an IDE.

The general idea is to implement a kind of special search using a Pane. Let's name this Pane, Tag Pane.

So, I'm going to use the Editor Search Pane as an analogy.

The basic features would be as follows:

1) Above all, the user must enter subjects-tags in the Subject property field of any annotations of his choice. These subjects-tags must be separated by a symbol (with ASuLiB, I use a semicolon);

2) The plugin collects and displays the subjects-tags in the Tag Pane. If the plugin is enabled, then the plugin automatically searches for all the subjects-tags in all annotations, in all open documents and in all directories specified by the user

3) In the Tag Pane, the subjects-tags must be clickable. Here, unlike the Editor Search Pane, the user does not have to do explicit searching (as mentioned above, if the plugin is enabled, then the plugin automatically searches for all the subjects-tags in all annotations, in all open documents and in all directories specified by the user);

4) When clicking on a subject-tag, the plugin displays all the files and all the locations within each file that contain this subject-tag. Here, it's identical to the Editor Search Pane. When doing a search with the Editor Search Pane, the results are displayed at the bottom of the pane (files and location within each file). I already use this feature extensively with ASuLiB. ASuLiB generates the list of my subjects-tags, then I use the Editor Search Pane to find them. It is very fast to find a subject-tag since the Editor Search Pane allows to restrict the search to annotations (comments);

5) The selected subject-tag must be in bold to indicate that this subject-tag is selected. The subjects-tags that are not present in those files displayed at the bottom of the Tag Pane must be greyed out ;

6) The user can then restrict the selection of files by clicking on another subject-tag. Or, he can click on a selected subject-tag to expand the selection;

7) Ideally, instead of using the Property Pane of an annotation to enter subjects-tags in the Subject property field, the Tag Pane should provide access to this field, at the very top of the Tag Pane. In this way, it would not be necessary to switch from one pane to another. In addition, and as proposed by vee, this field would be in the form of a drop-down list. In other words, the drop-down list would display the subjects-tags that already exist in the Subject property field of each annotation.

Thus, the general idea is to implement an automatic search of the subjects-tags if the plugin is activated.

Maybe you can add those comments above to the already open ticket: #4209: Editor FR: 'Annotations' plug-in with extended features

Feel free to ask any questions.

François
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hi,

By the way, I'm ready to write for free a help page specifically for the Tag Pane plugin.

We just badly need this feature. :wink:

It is an essential feature to take full advantage of PDF annotations and to go paperless, and not working with an hybrid system, half paper and half electronic.

François
vee
User
Posts: 14
Joined: Fri Dec 05, 2014 12:59 pm

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by vee »

Hi Francois

Perhaps I missed this in your idea but it would also be functionally very useful to have the global list of tags available for easy selection when highlighting or annotating. Ie - one reads, highlights/annotates, then right click to bring up a tag menu, then select to assign that tag to the annotation.
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hi vee,

Good point.

Maybe it can be added by a moderator to the ticket: #4209: Editor FR: 'Annotations' plug-in with extended features

François
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hi,

Another idea.

Adding Search and Replace feature in the Tag Pane to do basic clean up among tags.

There could be the following options: replace in the active document, in all open documents, in documents at the bottom of the Tag Pane (which means, in documents based on tags selection above those files), or in specified folders.

Thanks,

François
User avatar
Paul - Tracker Supp
Site Admin
Posts: 6829
Joined: Wed Mar 25, 2009 10:37 pm
Location: Chemainus, Canada
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Paul - Tracker Supp »

Hi guys,

I've added references to this topic and viewtopic.php?f=62&t=22846 to the ticket RT#4632: Feature Request :: Editor :: Tags in Annotation Subjects as well as linking RT#4632 to RT#4209: Editor FR: 'Annotations' plug-in with extended features!

That should ensure all the goodness from these discussions is considered when the time comes.

hth
Best regards

Paul O'Rorke
Tracker Support North America
http://www.tracker-software.com
shade-cabin-hammock
User
Posts: 328
Joined: Wed Dec 22, 2021 6:33 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by shade-cabin-hammock »

Hi,

First... T H A N K Y O U ! ! !

Can't sufficiently express how useful and important and valuable this add-on is! :D :D :D

I've installed it! And, it works. GREAT!!! Seeing the connections between the files is REALLY THE BEST! I've used custom names for comments for a long time. And, kept them consistent across many documents. So...being able to work comparatively with them - AND JUMP TO THEM in the blink of an eye...REALLY NEXT LEVEL!

There's two things I can't understand. I got so confused I uninstalled it, and re-installed it again. Still, I'm seeing the same behavior.

Please see below:
2021-12-22_20-20-24-047.jpg
This is what I see after I run it. It seems to wants to create TWO files? So, there's one file at the far right, in orange - "New Document"? Then, the "ASuLiB - Subjects List" file.

Every time I try to close the extra "New Document" file it shows up in the error pane.

Is this what should be happening?

Second question - once the PDF "ASuLiB - Subjects List" is generated...do I also need to save it? I've noticed that just closing it seems to also send the file to the error page pane.

Once the "ASuLiB - Subjects List" is created...what should I do with it? Save it? Close it unsaved? Save it in a specific place?

Thanks again!

SCH
Sincerely,

SCH
User avatar
Paul - Tracker Supp
Site Admin
Posts: 6829
Joined: Wed Mar 25, 2009 10:37 pm
Location: Chemainus, Canada
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Paul - Tracker Supp »

Hi all,

I wanted to revisit this and see if I cannot breath a little life into it as things seem to have stalled at this end. I don't have it on my workstation so I went to install it. I am not getting your button in the Add-on Tool ribbon, I have the ribbon from some custom print buttons I made. I will "play" with this tomorrow, I'm just wondering François if you are using it successfully in the current build of the Editor?

SCH - I assume you did this with the current build of the Editor? (9.0.359.0 as I write this)

(Edit - I had a typo in the JS, it works after correcting it.)
Best regards

Paul O'Rorke
Tracker Support North America
http://www.tracker-software.com
shade-cabin-hammock
User
Posts: 328
Joined: Wed Dec 22, 2021 6:33 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by shade-cabin-hammock »

Hi Paul,

WOW! That would be a great help. :)) THANK YOU!!!!

You're right - 9.0.359.0

Many thanks,

SCH
Sincerely,

SCH
User avatar
Paul - Tracker Supp
Site Admin
Posts: 6829
Joined: Wed Mar 25, 2009 10:37 pm
Location: Chemainus, Canada
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Paul - Tracker Supp »

Good to know SCH.

Lets see what fun I can have with this over the Christmas "break". ;-)
Best regards

Paul O'Rorke
Tracker Support North America
http://www.tracker-software.com
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hi Paul, hi shade-cabin-hammock ,

Glad to see that there are still people interested in the script. I'll be taking a look at all of this in January. As I mentioned before, I am not a programmer and had to learn JavaScript from the start to write Asulib. This probably explains some bizarre "behaviors" raised by shade-cabin-hammock. I still hope to find time to improve it. But since it's open code, everyone is welcome to improve the script and upload it to this discussion thread. At the risk of repeating myself, there is a great lack of PDF software with advanced functions for handling comments / annotations. Unfortunately, we cannot use Qiqqa since its comment / annotation system is not compatible with PDF standards.
shade-cabin-hammock
User
Posts: 328
Joined: Wed Dec 22, 2021 6:33 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by shade-cabin-hammock »

Hi François,

Ah! The way you've engineered this thing - like right out of thing air! - is sooooooo impressive. It works, for sure! And, really nearly replicates the "tagging" and notecard feature that's been envisioned by lots of people over the years.

It's pure ingenuity! :))) Thank you for posting it.

Sounds like you'll give it a look-over in January. I think with yours and Stefan's help I'll be able to figure it out.

Thanks again.

Sincerely

SCH
Sincerely,

SCH
User avatar
Paul - Tracker Supp
Site Admin
Posts: 6829
Joined: Wed Mar 25, 2009 10:37 pm
Location: Chemainus, Canada
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Paul - Tracker Supp »

Yes Francois, I also am stepping away until the New Year when I will be back with vengeance.

Until then, I wish you both the most wonderful New Year.

cheers
Best regards

Paul O'Rorke
Tracker Support North America
http://www.tracker-software.com
shade-cabin-hammock
User
Posts: 328
Joined: Wed Dec 22, 2021 6:33 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by shade-cabin-hammock »

Hi François & Paul,

Alrighty, then! Still using and ENJOYING this Add On.

Best thing is...I just need one highlight color now, as I can add as many different ideas as I need to each highlight! <hhhooooooooooooooorrrrray!>

I'm still getting the same error whenever I run it:
2021-12-22_20-20-24-047.jpg
It seems to wants to create TWO files? So, there's one file at the far right, in orange - "New Document"? Then, the "ASuLiB - Subjects List" file.

Every time I try to close the extra "New Document" file it then immediately shows up in the error pane.

It WORKS! In that, the add on accurately finds all the highlights, writes them to the file and makes each "tag" discretely searchable. Really, THAT'S manna from heaven!

So, if you can help me figure out the phantom second file, that's great!

POSSIBLE IMPROVEMENTS
Right now there's just a long alphabetical list of tags. Left-justified. Would be nice if it was more of a three column table?

Also, preceding the ALL tags alphabetical list, another, shorter list of
Tags Created in the Last Seven Days - arranged CHRONOLOGICALLY by creation.

Then, a further list, tags UNUSED in the last seven days. alphabetically.

Each of these also displayed as a three column waterfall list rather than just a single long list.

Finally, some way to re-load the names / update other than re-starting. I was hours deep in some brain blurring work. I wanted to re-run the count and I darn near panicked as none of my spif new tags in some new files were showing up. Then I recalled...RIGHT! I need to re-start in order to get the new files added to the analysis. Would be nice if we could just refresh that in some way without having to restart each time.

Sincerely,

SCH
Sincerely,

SCH
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hello SCH,

Glad to see that the script continues to work with the latest version of Editor and I'm glad to see that there are some enthusiastic users.

The first thing to know is that this is a script and not a plugin or an Add On, and that Tracker Software does not provide support for this script.

Personally, I would love to develop the script, but I don't have time. In fact, I am using the script for my own research. I wrote this script, without having any programming experience, in order to have the bare minimum to handle annotations / comments.

SCH, you have some really good ideas, and we can think of dozens of feature additions for the script. In fact, as we discussed in this discussion thread, ideally we should develop a real plugin or add on. But this requires a professional programmer and at the moment Tracker Software is not interested although some employees like Paul have supported us.

But, someone familiar with JavaScript could easily add functionality to the script.

Now let's answer your technical questions. I don't know why the script generates a "New Document" tab. It's annoying, but at least the "ASuLiB - Subjects List" document is generated.

Regarding refreshing the list, i.e. refreshing the "ASuLiB - Subjects List" document, you don't have to restart the computer. You can manually start the "_aslbFilenames.bat" file, no matter what folder you placed it in, by clicking once or twice on the file according to your settings. The "_aslbFilenames.bat" file then updates the "_aslbFilenames.txt" file to remove or add the names of the files from the folder in which "_aslbFilenames.txt" is located. Then you run this file as usual, from the "Asulib-List" button in Editor.

And yes, you have to save the "ASuLiB - Subjects List" file or regenerate the list. With a real plugin, you wouldn't even need such a file. The "tags" would be available in real time in a Pane.

A little tip before finishing. In order to avoid errors when the script is running, it is better to use only alphanumeric characters, hyphen and underscore. In other words, restrict yourself to A-Z, a-z, 0-9, and -, _. The script is unable to handle some characters, especially accents on letters. But I don't know exactly which characters he can and can't handle!

And here we are! In 2022, we do not have an advanced system for managing annotations / comments !! It is very unfortunate.

Francois
User avatar
Paul - Tracker Supp
Site Admin
Posts: 6829
Joined: Wed Mar 25, 2009 10:37 pm
Location: Chemainus, Canada
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Paul - Tracker Supp »

Hi Guys,

I love this discussion. I have been doing other things this last several months that have both meant I wasn't using ASuLiB for quite some time.

I have cause to do so again in the next few weeks. I use it for personal research, not actually work related, so I am going to reinstall the set up at home and have a deeper dive into this.
And here we are! In 2022, we do not have an advanced system for managing annotations / comments !! It is very unfortunate.
We do have a lot on the go with the dev team and unfortunately while this is still not getting the love I would myself like to see it get, stranger things have happened than to see this resurrected. This is definitely not a promise to deliver, as evidenced by the history, but it is a commitment to giving it some attention personally. I am myself also not coder, but I have access to resources. Lets see what the next month or two look like as I "play around with this a little more".
Best regards

Paul O'Rorke
Tracker Support North America
http://www.tracker-software.com
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Thanks Paul for maintaining this discussion thread alive.

Regarding the Asulib script, and not a real plugin, we only need a coder, not necessarily a professional one, who knows Javascript better than me and who has a little time. It's relatively easy for a coder to add some basic functionality as we have discussed in this discussion thread.

I wonder if, by creating a dedicated page for this little project on social networks, I would not find one. We have to find someone who believes that an advanced annotation / comment management system is a priority.

We'll see.

François
User avatar
Paul - Tracker Supp
Site Admin
Posts: 6829
Joined: Wed Mar 25, 2009 10:37 pm
Location: Chemainus, Canada
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Paul - Tracker Supp »

OK - you have encouraged me to action...

;-)

"I'm game, let's see who rusts first"... (Douglas Adams)
Best regards

Paul O'Rorke
Tracker Support North America
http://www.tracker-software.com
shade-cabin-hammock
User
Posts: 328
Joined: Wed Dec 22, 2021 6:33 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by shade-cabin-hammock »

Yeah! : ))))))))))))))))))))))))))))))) :!: :!: :!: :D :D :D :!: :!: :!:
Sincerely,

SCH
User avatar
Tracker Supp-Stefan
Site Admin
Posts: 17810
Joined: Mon Jan 12, 2009 8:07 am
Location: London
Contact:

Introducing ASuLiB - Annotation Subject List Builder

Post by Tracker Supp-Stefan »

:)
shade-cabin-hammock
User
Posts: 328
Joined: Wed Dec 22, 2021 6:33 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by shade-cabin-hammock »

Hi Paul,

The BIG help for me on this would be to find a way to generate a list of comments from a range of files according to date.

Sincerely,

SCH
Sincerely,

SCH
User avatar
Paul - Tracker Supp
Site Admin
Posts: 6829
Joined: Wed Mar 25, 2009 10:37 pm
Location: Chemainus, Canada
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Paul - Tracker Supp »

Got it.

Because my skills are somewhat rudimentary, :oops: , I am reaching out for assistance.
I am hopeful of having something to report back soon.

regards
Best regards

Paul O'Rorke
Tracker Support North America
http://www.tracker-software.com
shade-cabin-hammock
User
Posts: 328
Joined: Wed Dec 22, 2021 6:33 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by shade-cabin-hammock »

Hi Paul,

Bless you, mate! Really grateful.

When I see how hard you all work here each day to help people I feel impressed, especially your taking this one up one your own to help shepherd it into a higher state.

Thank you, Paul!

Sincerely,

SCH
Sincerely,

SCH
User avatar
Paul - Tracker Supp
Site Admin
Posts: 6829
Joined: Wed Mar 25, 2009 10:37 pm
Location: Chemainus, Canada
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Paul - Tracker Supp »

well shucks, that is very kind of you. :)

Let see what actually happens in terms of a result before we get too grateful. :D
Best regards

Paul O'Rorke
Tracker Support North America
http://www.tracker-software.com
User avatar
Paul - Tracker Supp
Site Admin
Posts: 6829
Joined: Wed Mar 25, 2009 10:37 pm
Location: Chemainus, Canada
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Paul - Tracker Supp »

Just a heads up that one of the real coders is looking at this. It's a low priority and he's doing it in his own time as a favour to us.

He's already made a few tweaks to improve the performance and is looking into a couple of other improvements, one in particular relates to opening the files. I don't want to get into any details here until I have something to show you.

There is an aspect of our implementation of the JS API that needs changing in the Editor to support this. It's something that was on the "todo list" anyway so will happen, but it won't make it's way into the next build I'm afraid.

So, patience is still the order of the day. I just wanted you to know that while it may not be apparent, there is movement here behind the scenes.
Best regards

Paul O'Rorke
Tracker Support North America
http://www.tracker-software.com
francois maurice
User
Posts: 100
Joined: Sat Sep 29, 2012 5:38 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by francois maurice »

Hi Paul,

Thanks a lot for your support.

Thanks also to the anonymous coder who is working on the script.

FYI, there is also an error catching issue.
The scipt stops working sometimes due to various reasons like corrupted file, filename with non-standard characters or spaces, etc.
It would be nice if we could know on which file the script hangs.

I look forward to this new version of Asulib.

It is greatly appreciated what you do,

Francis
User avatar
Paul - Tracker Supp
Site Admin
Posts: 6829
Joined: Wed Mar 25, 2009 10:37 pm
Location: Chemainus, Canada
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Paul - Tracker Supp »

Hi Francis,
Thanks also to the anonymous coder who is working on the script.
Roman is a good guy and I am very grateful for his help.
FYI, there is also an error catching issue.
The scipt stops working sometimes due to various reasons like corrupted file, filename with non-standard characters or spaces, etc.
It would be nice if we could know on which file the script hangs.
Noted.

Lets see what comes down the pipe. Again, because we need to make some changes that won't be in the next build please do appreciate that this is still along term project.

;-)
Best regards

Paul O'Rorke
Tracker Support North America
http://www.tracker-software.com
shade-cabin-hammock
User
Posts: 328
Joined: Wed Dec 22, 2021 6:33 am

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by shade-cabin-hammock »

:D :D :!: :D :D :!: :D :D :!: :D :D
Sincerely,

SCH
User avatar
Paul - Tracker Supp
Site Admin
Posts: 6829
Joined: Wed Mar 25, 2009 10:37 pm
Location: Chemainus, Canada
Contact:

Re: Introducing ASuLiB - Annotation Subject List Builder

Post by Paul - Tracker Supp »

He he - 8)
Best regards

Paul O'Rorke
Tracker Support North America
http://www.tracker-software.com
Post Reply