Jump to
↵select↑↓navigateescclose

Install and upgrade

Install ERPNext TaskView on a Frappe v16 bench, build its assets, and finish the portal set-up that a fresh install leaves to you.

Updated
On this page

ERPNext TaskView installs like any Frappe app. Two things are specific to it: the assets have to be built, and a fresh install does not run the migration patch that points the portal at /projects, so a few portal settings are yours to set.

Before you start

  • A bench with Frappe v16 and a site that already has ERPNext installed.

  • Node and yarn on the bench machine. The project is built with Node 24 in CI.

  • A System Manager login on the site.

Install TaskView after ERPNext. The portal page at /projects replaces ERPNext's own /projects page, and Frappe resolves website pages across the installed apps in reverse install order.

Install

Run these from the bench directory. <SITE_NAME> is your site, for example site1.example.com.

bench get-app https://github.com/Avunu/erpnext_taskview
bench --site <SITE_NAME> install-app erpnext_taskview
bench build --app erpnext_taskview

bench build matters more than usual here. Frappe's build runs each app's build script from its package.json (and runs yarn install --frozen-lockfile first when the app has no node_modules). For this app that script builds the Task View and timer dock bundles and the portal, then updates sites/assets/assets.json. The portal's page, erpnext_taskview/www/projects.html, and its files in erpnext_taskview/public/portal/ are generated by that build and are not in the repository, so without it /projects has nothing to show.

What a fresh install sets up

Installing the app does these things on its own:

  • It adds the custom fields and property settings listed in Configuration, including Budgeted Hours on Project, and makes Task View the default list view for Task and Project.

  • It creates the Client Portal Notification Type. New users get emails for it by default.

  • It registers the /projects portal, a Projects entry in the portal menu for users with the Customer role, and a redirect from the old /project list to /projects.

Finish the portal set-up

The app also ships a one-time patch, erpnext_taskview.patches.v1_0.setup_client_portal. Frappe's install-app marks every patch of a newly installed app as already done, so on a fresh install the patch never runs, and running bench migrate afterwards does not run it either. The patch is for sites that had the app before it existed: for them bench migrate runs it once.

This table shows what the patch does and what to do by hand on a fresh install.

What the patch doesOn a fresh install
Seeds the Client Portal email preference into every existing user's Notification SettingsOpen the Client Portal Notification Type and choose Actions, Enable Email Notifications for All Users (System Manager). Without it only users created from now on get the emails; the others can switch it on in their own Notification Settings.
Disables ERPNext's stock Projects row (route /project) in the portal menuIn Portal Settings, open the Portal Menu table and untick Enabled on the row whose route is /project. Until you do, the standard portal pages list two Projects entries.
Sets Default Portal Home to /projectsIn Portal Settings, set Default Portal Home to /projects if you want customers to land on their projects after signing in.
Removes a Website Settings redirect from projects to projectNothing to do unless your site has such a redirect: delete the row in Website Settings, Route Redirects.

These behaviours were read from the app and from Frappe 16.34 and ERPNext 16.35: install_app calls set_all_patches_as_completed, and the Notification Type form carries the Enable Email Notifications for All Users action. Check both against your own version after a major upgrade.

Allow overlapping time logs

Task View's timers overlap by design. A paused timer keeps the time it started, and stopping it logs its hours from that time, so a timer you paused to run another ends up with a time log that overlaps the other one. ERPNext refuses a Timesheet whose logs overlap for the same user or Employee unless Projects Settings tells it not to check. With the checks on, stopping the timers still works, but the next timer you start on that project and submitting the Timesheet both fail with "From Time and To Time of … is overlapping with …".

In Projects Settings, tick both:

  • Ignore User Time Overlap

  • Ignore Employee Time Overlap

The app does not change these settings for you, and both are unticked in a new ERPNext site.

Since ERPNext 16.51.0 the user check applies to every Timesheet, because ERPNext now fills in the Timesheet's user (the Employee's user, or else whoever created it). Before that, Timesheets without an Employee were never checked for overlap, so a site that ran Task View fine on an older ERPNext can start hitting this error after an upgrade.

Check the install

  1. In the desk, open Project or Task in list view. It opens as Task View. The view menu next to the title also offers List.

  2. Start a timer on a task: the timer dock appears on the desk. See Timers and timesheets.

  3. Sign in as a customer who has access to a project and open /projects. See Giving customers access.

If /projects shows no portal, check that apps/erpnext_taskview/erpnext_taskview/www/projects.html exists, and run bench build --app erpnext_taskview again.

Upgrade

Update the app the way you update any Frappe app: bench update, or pull the new code in apps/erpnext_taskview and then run these from the bench directory.

bench --site <SITE_NAME> migrate
bench build --app erpnext_taskview

bench migrate re-syncs the custom fields and property settings and creates the Client Portal Notification Type if it is missing. It also runs any new patch the app has shipped since you last migrated.

After upgrading ERPNext to 16.51.0 or later, check that both overlap settings in Projects Settings are ticked: see Allow overlapping time logs.

Next