This guide is intended to help you get started with PressPlanner. It will guide you through the installation process, provide a brief overview of the app's features, and give you a quick reference to the commands you can use. All sections headers will link you back to the start of their parent section, so you can easily navigate the guide.
PressPlanner was built with freelance journalists in mind. It acts as your contact list linked together with a collection of articles, helping you keep track of your contacts and articles.
Unlike major firms, freelancers often lack the same wealth of contacts and resources. PressPlanner helps you maximise the value you can get from your contacts, by providing a platform to store and manage them and keeping track of which contacts you've worked with for different articles.
PressPlanner's main features are its ability to help you:
Develop deeper story angles and reconnect with past interviewees or collaborators.
Follow up on breaking stories
PressPlanner's tagging system for persons and articles is flexible and powerful:
11 or above installed on your computer.
⚠️ Warning
App data will be stored in sub-folders from where it is launched. While you could run the app from any location, we recommend making a dedicated folder for our app to avoid confusion.
java -jar pressplanner.jar command to run the application.
cd command to change directories and the dircommand to list files in the current directory.cd command to change directories and the ls command to list files in the current directory.
💡 Tip
This section covers commands first-time users might need. For the full commands list, refer to the Features section.
Let's go over the basic PressPlanner workflow. Say you've just finished interviewing a certain Gill Bates. You want to save his contact for later and keep track of your article.
Selecting the command box at the top of the page, let's first add Gill Bates to PressPlanner's address book list.
To add a contact we need to include the following information separated by their prefixes:
n/)p/)e/)a/)add n/Gill Bates p/12345678 e/gillbates@sicromoft.com a/Sicromoft HQℹ️ Important
Adding an article uses the add -a command, the -a standing for article.
-a suffix is used for all commands pertaining to articles.Next let's add that article you just wrote.
add -a an article we need the following information:
h/)d/)
s/)
draft, published, or archived.add -a h/Example Article d/20-10-2023 s/draft⚠️ Warning
You should only use headline (h/), date (d/) and status (s/) prefixes once each. If you use multiple prefixes only the last prefix's value will be used:
* eg. add -a h/My Article d/20-10-2023 s/draft h/My Second Article will add an article titled My Second Article.
* eg. add -a h/My Article d/01-01-2024 s/draft d/02-02-2024 will add an article with the date 02-02-2024.
Now that that's done, let's say you need to find Gill Bate's number to arrange another interview.
find Gill Bates will pull up his contact.If you made a mistake or want to see all your contacts again:
list will bring up all your contacts.If you want to look up your article:
find -a Example Article will pull up the article.If you want to see all your articles again:
list -a will bring them all up.Now that you know the basic workflow, go ahead and try it out for yourself. If you want to learn more commands, use the help command in-app or refer to the features section of this guide.
As you become more familiar with the app, use tags as you see fit to customise your workflow!
ℹ️ Important
Here are some important terms that will be used in this section:
Commands are composed of a command word potentially followed by a few prefixes and their corresponding parameters.
example p/PARAMETER:
example is the command word.p/ is the prefix.PARAMETER is the parameter to be supplied by you.INDEX is a parameter you may come across frequently. It refers to the index number shown in the current list view.
Words in UPPER_CASE are the parameters to be supplied by you.
example p/PARAMETER:
PARAMETER is the parameter to be supplied by you.
example p/my input, replacing PARAMETER with your own input.delete INDEX:
INDEX is the parameter to be supplied by you.
delete 1, replacing INDEX with a valid index.Items in square brackets are optional.
example p/PARAMETER [t/TAG]:
example p/my input is a valid use of the command.example p/my input t/my tag is also a valid use of the command.Items with ... after them can be used multiple times. If the item is also in square brackets, it can even be used zero times.
example p/PARAMETER [t/TAG]...:
example p/my input is a valid use of the command.example p/my input t/my tag is also a valid use of the command.example p/my input t/my tag t/my other tag is also a valid use of the command.Parameters can be in any order.
example p/PARAMETER [t/TAG]...:
example p/my input t/my tag is a valid use of the command.example t/my tag p/my input is also a valid use of the command.example t/my tag p/my input t/my other tag is also a valid use of the command.Extraneous inputs for commands that do not take in parameters will be ignored.
Prefixes are case-insensitive.
example p/PARAMETER:
example p/my input is a valid use of the command.example P/my input is also a valid use of the command.EXAMPLE p/my input is not a valid use of the command.Only correct prefixes will be recognised and accepted.
add -a command for example:
add -a h/My Headline invalid/ignore d/01-01-2024 s/draft will not recognise invalid/ignore as a valid prefix and parameter pair.
My Headline invalid/ignore as the headline and add a new article with the headline My Headline invalid/ignore.add -a h/My Headline d/01-01-2024 s/draft t/my tag invalid/ignore will not recognise invalid/ignore as a valid prefix and parameter pair.
my tag invalid/ignore as the attempted tag.⚠️ Warning
If you are using a PDF version of this document, be careful when copying and pasting commands with line breaks as they may not paste correctly.
ℹ️ Important
Here are some important terms that will be used in this section:
NAME
PHONE_NUMBER
EMAIL
local-part@domain.
+_.- special characters.ADDRESS
TAG
addAdds a person to PressPlanner's address book.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]...
💡 Tip
A person can have any number of tags (including 0).
Examples:
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01add n/Betsy Crowe e/betsycrowe@example.com a/Apple HQ p/1234567 t/Marketing Department t/AppledeleteDeletes the specified person from PressPlanner's address book.
Format: delete INDEX
INDEX.Examples:
delete 2 deletes the 2nd person in the current address book view.ℹ️ Important
Commands such as find can alter the current view of the address book. The INDEX refers to the index number shown in the current view.
listShows a list of all persons in PressPlanner's address book.
Format: list
editEdits an existing person in PressPlanner's address book.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]...
INDEX.⚠️ Warning
When editing tags, the existing tags of the person will be removed i.e. adding of tags is not cumulative.
t/ without specifying any tags after it.ℹ️ Important
Editing the name of a person will automatically update their names in articles referencing them as contributors or interviewees.
Examples:
edit 1 p/91234567 e/johndoe@example.com Edits the phone number and email address of the 1st person to be 91234567 and johndoe@example.com respectively.edit 2 n/Betsy Crowe t/ Edits the name of the 2nd person to be Betsy Crowe and clears all existing tags.findFinds persons whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
hans will match Hans.Hans Bo will match Bo Hans.Han will not match Hans.OR search).
e.g. Hans Bo will return Hans Gruber, Bo YangExamples:
find John returns john and John Doe
find alex david returns Alex Yeoh, David Li
Before finding:
After finding using find chester:
lookupDisplay articles associated with the person where they are contributors or interviewees.
Format: lookup INDEX
INDEXJohn in the address book will not match articles with john as an interviewee or contributor).John in the address book will not match articles with Johnny or John Doe as interviewees or contributors).Examples:
lookup 1 returns all articles associated with the first person in the list of contacts.
Before lookup:
After lookup using lookup 2:
sort n/Sorts persons in ascending order by the lexicographical (alphabetical) ordering of their names.
Format: sort n/
sort n/ command sorts all persons in PressPlanner permanently.
add after a sort n/ command will be added to the end of the address book, regardless of their name.edit to change their name after a sort n/ command will not change its position in the address book.Example:
sort n/ sorts all persons in PressPlanner in ascending order by the lexicographical (alphabetical) ordering of their names.
Before sorting:
After sorting:
Success message shown:
sorted all persons by nameclearClears all entries from the address book.
Format: clear
⚠️ Warning
This action is irreversible. All persons will be deleted from the address book. The app will not prompt you to confirm this action.
PressPlanner's article management system is designed to help you keep track of your articles and the people involved in them. As a freelancer, you lack the same resources a major firm has. PressPlanner helps you maximise the value you can get from your contacts by helping you keep track of which contacts you've worked with for different articles.
💡 Tip
Refer to Why Use PressPlanner? for some of our recommended workflows and how PressPlanner can help you.
ℹ️ Important
Here are some important terms that will be used in this section:
DATE DATE field. This field is also used in commands like filterDATE must be in the format dd-mm-yyyy [HH:mm].
HH:mm is optional and defaults to 00:00 if not provided.HH:mm must be in 24-hour format.01-01-2023, 01-01-2023 22:30STATUS STATUS field.STATUS can be:
draftpublishedarchived.STATUS parameter is not case-sensitive (e.g. draft and DRAFT are both valid inputs).add -aAdds a new article to PressPlanner's database.
Format: add -a h/HEADLINE d/DATE s/STATUS [c/CONTRIBUTOR]... [i/INTERVIEWEE]... [t/TAG]...[o/OUTLET]... [l/LINK]
⚠️ Warning
HEADLINE, DATE, and STATUS are mandatory fields.
DATE and STATUS.HEADLINE must be unique unless it is a draft HEADLINE accepts any characters, but spaces at the start will be automatically removed.HEADLINE can also be left blank. This is not recommended, but allowed for flexibility.
add -a h/ d/20-10-2023 s/draft is a valid command and will add an article with a blank headline.DATE can represent what you choose to be relevant to your workflow, we recommend using it to represent:
add -a h/My Article d/20-10-2023 s/draft h/My Second Article will add an article titled My Second Article.add -a h/My Article d/01-01-2024 s/draft d/02-02-2024 will add an article with the date 02-02-2024.CONTRIBUTOR is a co-author or information source that was not directly interviewed for an article.INTERVIEWEE is a person directly interviewed for an article.
OUTLET is the publication or platform the article was published on.TAG is any keyword or phrase that helps categorise the article.LINK is a URL to the article.ℹ️ Important
Adding an article will return to displaying all articles if a find command was executed before.
Examples:
add -a h/iPhone 13 Review d/20-03-2024 s/draft c/John Doe i/Michael Lee t/New Releasesadd -a h/AI Inc. Acquired by Google d/30-08-2024 08:45 s/published c/Alex Johnson i/Emily Brown t/AI o/CNA l/www.example.comdelete -aDeletes an existing article from PressPlanner's database.
Format : delete -a INDEX
INDEX.
INDEX refers to the index number shown in the current article list view.
filter, sort or find command was executed before, the index refers to the index number shown in the filtered/sorted list of articles.delete 1 after the find command deletes the first article found by the find command.Example : delete -a 1 deletes the article at the first index.
list -aList out all articles in PressPlanner's database.
Format: list -a
list -ab, list -a1) will be ignored and treated as list for persons instead.list -a , list -a ) are acceptable.list -a 123 will be interpreted as list -a).edit -aEdits an existing article in PressPlanner's database.
Format: edit -a INDEX [h/HEADLINE] [d/DATE] [s/STATUS] [c/CONTRIBUTOR]... [i/INTERVIEWEE]... [t/TAG]... [o/OUTLET]... [l/LINK]
INDEX.add -a command for the format of each field.
edit -a will also behave the same as add -a in terms of returning to the full list of articles if used after a find command.⚠️ Warning
c/, i/, t/, o/ and l/ without any value after it will clear all existing values.c/new contributor will replace all existing contributors with new contributor.Examples:
edit -a 1 h/iPhone Review Edits the headline of the 1st article to be iPhone Review.edit -a 2 h/iPhone Review i/ Edits the headline of the 2nd article to be iPhone Review and clears all existing interviewees.find -aFind articles with headlines containing any of the given keywords.
Format: find -a KEYWORD [MORE_KEYWORDS]
iphone will match iPhonePro Vision will match Vision ProiPhone will not match iPhonesfind -a Vision Pro will return an article with the headline: Pro tips for Windows 10 UsersExamples:
find -a Vision Pro returns articles with headlines containing Vision or Pro.
Before finding:
After finding using find -a iphone:
filter -aFilter PressPlanner's database by a combination of attributes to find articles you are looking for quickly.
Format: filter -a s/STATUS t/TAG ST/START_DATE EN/END_DATE
filter -a s/ t/ st/ en/ is a valid commandfilter -a s/ t/ st/ is not a valid commandst/ or en/ blank defaults to the earliest or latest date possible respectively.filter command prior to a find command.
filter will list all matching articles within the database when first applied.find can be used to then search the filtered list.
filter after a find command will overwrite the previous find command.START_DATE and END_DATE must be in the same format as DATE in the add article command.START_DATE should come before the END_DATE. If not, you will receive an error!START_DATE or END_DATE.Examples:
filter -a s/DRAFT t/ st/ en/ will restrict the display to showing only articles with draft status.
Using the command:
After the command:
rmfilter -aRemove all filters so that all articles in PressPlanner's database are displayed.
Format: rmfilter -a
No additional parameters.
The -a is necessary, additional letters will cause the command to fail.
rmfilter -a 123 will be interpreted as rmfilter -a).Using the command:
After the command:
lookup -aFinds persons associated with an article as interviewees or contributors.
Format: lookup -a INDEX
INDEX.john as an interviewee or contributor will not match John in the address book).John as an interviewee or contributor will not match Johnny or John Doe in the address book).Examples:
lookup -a 1 returns all persons associated with the first article in the list of articles.
Before lookup:
After lookup using lookup -a 2:
sort -a d/Sort articles in PressPlanner's database in descending order by their date and time.
Format: sort -a d/
sort -a d/ command sorts all articles in PressPlanner permanently.
add -a after a sort -a d/ command will be added to the end of the list, regardless of its date.edit -a to change the date after a sort -a d/ command will not change its position in the list.Example:
sort -a d/ sorts all articles in PressPlanner in descending order by their date and time.
Before sorting:
After sorting:
Success message shown:
sorted all articles by dateBy clicking the Link button of your article that is highlighted in yellow box in the picture below, you can open up the webpage for your article that was included in the article.
⚠️ Warning
PressPlanner does not check the validity of links. If the webpage does not open when clicked, it likely means that the link of the article is invalid.
helpShows a message with the URL to access this User Guide.
Can also be accessed via the button at the top of the app
Can also be accessed via pressing the F1 key on your keyboard
Format: help
exitExits the program.
Format: exit
| Action | Command Format | Example |
|---|---|---|
| List Persons | list | list |
| Add Person | add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]... | add n/Betsy Crowe p/1234567 e/betsycrowe@example.com a/Apple HQ t/Marketing Department t/Apple |
| Delete Person | delete INDEX | delete 3 |
| Edit Person | edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]... | edit 2 n/Betsy Crowe e/betsycrowe@example.com |
| Find Person | find KEYWORD [MORE_KEYWORDS] | find Crowe Betsy |
| Lookup Associated Articles | lookup INDEX | lookup 1 |
| Sort Persons by Name | sort n/ | sort n/ |
| Clear Persons | clear | clear |
| List Article | list -a | list -a |
| Add Article | add -a h/HEADLINE d/DATE s/STATUS [c/CONTRIBUTOR]... [i/INTERVIEWEE]... [t/TAG]... [o/OUTLET]... [l/LINK] | add -a h/AI Inc. Acquired by Google d/30-08-2024 08:45 s/published c/Alex Johnson i/Emily Brown t/AI o/CNA l/www.example.com |
| Delete Article | delete -a INDEX | delete -a 1 |
| Edit Article | edit -a INDEX [h/HEADLINE] [d/DATE] [s/STATUS] [c/CONTRIBUTOR]... [i/INTERVIEWEE]... [t/TAG]... [o/OUTLET]... [l/LINK] | edit -a 2 h/iPhone Review |
| Find Article | find -a KEYWORD [MORE_KEYWORDS] | find -a Vision Pro |
| Filter Articles | filter -a s/STATUS t/TAG ST/START_DATE EN/END_DATE | filter -a s/draft t/Apple st/01-01-2024 en/ |
| Remove Filter | rmfilter -a | rmfilter -a |
| Lookup Associated People | lookup -a INDEX | lookup -a 1 |
| Sort Articles | sort -a d/ | sort -a d/ |
| Help | help | help |
| Exit | exit | exit |
In PressPlanner's current version, we have provided a command to clear all persons from the address book using the clear command. This is intended to help you clear all contacts in the case of personal data privacy and security concerns.
Users have requested a similar command to clear all articles from the article book to improve their personal workflows. We are working on implementing this feature in the near future.
articlebook.json file in the data folder to clear all articles.
For example, your articlebook may look something like this:
Simply go into the folder PressPlanner is in:
Go inside the data folder, which will look something like this:
Delete the file named articlebook:
Now, if you open PressPlanner again, you will see that your articles will have changed back to the sample data:
Now all you have to do is to delete the sample article, and you are set!
In PressPlanner's current version, filtering is available for articles and intended to help you find articles that you may have forgotten the name of by other attributes such as date, status, tags, etc.
Users have requested a similar feature for persons. We are working on implementing this feature in the near future.