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 dir
command 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
add
Adds 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-01
add n/Betsy Crowe e/betsycrowe@example.com a/Apple HQ p/1234567 t/Marketing Department t/Apple
delete
Deletes 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.
list
Shows a list of all persons in PressPlanner's address book.
Format: list
edit
Edits 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.find
Finds 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 Yang
Examples:
find John
returns john
and John Doe
find alex david
returns Alex Yeoh
, David Li
Before finding:
After finding using find chester
:
lookup
Display articles associated with the person where they are contributors or interviewees.
Format: lookup INDEX
INDEX
John
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 name
clear
Clears 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 filter
DATE
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:30
STATUS
STATUS
field.STATUS
can be:
draft
published
archived
.STATUS
parameter is not case-sensitive (e.g. draft
and DRAFT
are both valid inputs).add -a
Adds 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 Releases
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 -a
Deletes 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 -a
List 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 -a
Edits 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 -a
Find articles with headlines containing any of the given keywords.
Format: find -a KEYWORD [MORE_KEYWORDS]
iphone
will match iPhone
Pro Vision
will match Vision Pro
iPhone
will not match iPhones
find -a Vision Pro
will return an article with the headline: Pro tips for Windows 10 Users
Examples:
find -a Vision Pro
returns articles with headlines containing Vision
or Pro
.
Before finding:
After finding using find -a iphone
:
filter -a
Filter 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 -a
Remove 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 -a
Finds 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 date
By 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.
help
Shows 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
exit
Exits 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.