As there is no support for ActiveCollab in PhpStorm I
build this work-around. With this hack we can use the Open Task
functionality inside PhpStorm
Download this package on a PHP server and note the url (eg: https://foo.bar.tld).
Make sure the public
folder is your document_root.
First we need to obtain some data we will need later on. This data is returned by our package, but we need to construct an url.
We will need to append some GET parameters to our /login
url.
- username: your ActiveCollab Username
- password: your ActiveCollab Password
- account: your ActiveCollab instance number, if your Active Collab url is: https://app.activecollab.com/123456, this is
123456
.
The final url will look something like: https://foo.bar.tld/login?username=john@doe.com&password=super-secret-password&account=123456
If you open this url in a browser it will result in a JSON-object like below
{
token: "12-3858f62230ac3c915f300c664312c63f",
acArl: "https://app.activecollab.com/123456",
userId: 1337
}
- Go to "Tools → Tasks & Contexts → Configure Servers ...".
- Add a new "Generic" server type.
- Enter the url where you installed the "server" (eg: https://foo.bar.tld) in the field "Server URL.
- Check "Login anonymously".
- Open the tab "Server Configuration".
- Click "Manage Template Variables".
- Add the needed variables based on the data we earlier retrieved.
You should end up with something like:
Set the "Task List URL" to {serverUrl}/task-list/$projectId?token={token}&acUrl={acUrl}&userId={userId}
, where you
replace $projectId
with the project id in Active Collab.
If the url for your project is https://app.activecollab.com/123456/projects/789
, the project id is 789
.
- Choose
JSON
as the "Response Type". - Add the correct paths for each property as indicated in the screenshot below.
- There is no support for self-hosted ActiveCollab instances.
- There is no decent error handling.