=== Client Power Tools === Contributors: samglover Tags: client management, project management, portal, restrict content, frontend login Requires at least: 5.5 Tested up to: 6.2 Requires PHP: 7.3.5 Stable tag: trunk License: GPLv3 License URI: https://www.gnu.org/licenses/gpl-3.0.en.html A free, easy-to-use client dashboard, project management, and communication portal built for designers, developers, consultants, lawyers, and other independent contractors and professionals. == Description == Client Power Tools is built for designers, developers, consultants, lawyers, and other independent contractors and professionals. Give your clients a dashboard where they can check on the status of their project, access information and resources in your clients-only knowledge base, view other clients-only pages, and communicate with you—right on your own website! ### Front-End Onboarding & Login All client interactions happen on the front end of your website, with clean modal forms for logging in—without a password! Client Power Tools will simply blend in with most themes. ### The Client Dashboard Clients can log in to their dashboard on your website at any time. The dashboard uses regular WordPress pages, so you can add your client dashboard to your menus just like any other page. Or you can include a link to it anywhere you need to, like your blog posts, email newsletters, etc. The only difference is that the client dashboard is only visible to logged-in clients. You can change the name or permalink of the default dashboard page, or select a different page entirely. ### Modules Each module can be enabled or disabled independently of the rest. #### Projects & Stages Module Now you can assign multiple projects to each client, create multiple project types with stages to keep track of your project progress with your clients. You can change the project label to whatever you prefer (files, matters, dossiers, schemes, capers, etc.) and it will be reflected throughout. The new progress bar provides you and your clients with a visual indicator of each project's progress. #### Knowledge Base Module The knowledge base is a clients-only page—or a collection of pages—that you can use to share information and resources with your clients. Just like the client dashboard, the knowledge base is a regular WordPress page with some special features. You can add as many child pages as you like—the knowledge base tab will use a drop-down index and breadcrumb navigation to help your clients find their way around. #### Status Update Request Button Module Your clients want to know how things are going! The status update request button on the client dashboard makes it easy for clients to prompt you for a status update. Once a client clicks the button, they won’t see it again for 30 days—or you can change that number to an interval that works for you. You can designate an additional email address to receive all status update requests so you can respond efficiently. #### Messages Module Using Client Power Tools to communicate with your clients keeps all your messages in one place so nothing gets lost. When you send a message to your client, they will receive an email notification with a link to their client dashboard so they can read it and reply. Or you can send them the full message—by default or on a message-by-message basis. ### Customization Client Power Tools is built to be customizable where you need it to be. Here are some of the things you can change to suit your needs: * **Enable/disable all non-core modules.** (As of 1.4, the non-core modules are the Status Update Request Button, Messaging, and Knowledge Base.) * **Customize project labels.** Some people have projects, others have files, matters, dossiers, schemes, capers, etc. You can use whatever label you prefer, and it will be reflected throughout Client Power Tools. * **Project types & stages.** Add project types, and for each type specify the stages you want your client to be able to see on their progress bar. * **Additional pages.** Restrict any page on your website to logged-in clients. * **New-client email.** You can customize the email sent to newly added clients so that it reflects the name, email address, subject line, and messaging you prefer. * **Client IDs.** When adding or updating a client, you can add a custom client ID. * **Client statuses.** You can customize the default statuses (potential, active, inactive). * **Client managers.** You can set a default client manager and assign a different client manager to each client. * **Show/hide the status update request button.** The status update request button is a great way to empower your clients, but if you don't want to use it you can turn it off. * **Status update request frequency.** Change how often the status update request button is available to your clients. * **Status update request recipient.** Designate one person to get notified of all status update requests. * **Email notifications.** By default, Client Power Tools sends a notification, not the content of your message. But you can change the default behavior or override it for individual messages. * **Design.** The front-end design of Client Power Tools is as minimal as possible so that Client Power Tools blends into your existing theme. But you can override the Client Power Tools styles as long as you know a little CSS. (See the [documentation](https://clientpowertools.com/documentation/) for more details.) == Frequently Asked Questions == = Where can I find Client Power Tools documentation and resources? = For help using Client Power Tools, see the [documentation](https://clientpowertools.com/documentation/). = I'm getting a warning that says my website is not using SSL (HTTPS). Should I be worried? = You can use Client Power Tools even if your website does not have an SSL certificate, but you should probably get one. For more information, see the [Securing WordPress for Client Power Tools](https://clientpowertools.com/security/) resource page. = Where is my client dashboard? Where is my knowledge base? = You can find your client dashboard by checking your Client Power Tools settings page. In your WordPress dashboard, go to **Client Power Tools** / **Settings** and look for the **Client Dashboard Page** and "Knowledge Base Page" selection fields. There will be a link to your current pages, as well. You should probably add your client dashboard to your website navigation menu so it is easy for clients to find. You may want to add your knowledge base, as well, if you want clients to be able to find it without going to their dashboard first. If you need help with this, see the [documentation](https://clientpowertools.com/documentation/). = How do I add pages to my knowledge base? = To add pages to your knowledge base, just go to the page you want to add (or create a new page) and look for the **Page Attributes** widget in the sidebar. Select your knowledge base page from the **Parent Page** drop-down and save the page. Now the page will appear as a sub-page in your knowledge base. == Upgrade Notice == With version 1.6 it is now possible to add pages to the client dashboard. Pages added will be restricted to logged-in clients. Version 1.5 makes a major change: passwordless login. By default, clients now request a login code by email—no password necessary. (Logging in with a username and password is still supported.) Passwordless login saves your clients from having to remember their username and password. Instead, they enter their email address to request a one-time-use login code that expires after 10 minutes. On entering the correct code, they will be logged in. Since WordPress has long supported password reset by email, passwordless login by email is much more convenient but no less secure. As usual, there are also lots of smaller updates, improvements, and tweaks. For more information on how to take advantage of the new and updated features, see the [documentation](https://clientpowertools.com/documentation/). == Changelog == ### 1.7.8 - 2023-08-08 #### Fixed - The login form would sometimes fail under unusual conditions. Now it should happily log you in as expected, or else deliver error messages instead of just sitting there opaquely. ### 1.7.7 - 2023-08-03 #### Changed - Renamed the primary dashboard page in the navigation tabs to "Home.' #### Fixed - The home page title would show as "Client Dashboard: Client Dashboard" which was dumb. Fixed. - Moved the page title filter from /common/cpt-common.php to /frontend/cpt-frontend.php. ### 1.7.6 - 2023-07-27 #### Added - cpt_is_additional_page() - cpt_add_nav_to_addl_pages() #### Changed - No longer shows projects in the client list table if the Projects module is not active. - Consolidated Knowledge Base breadcrumbs logic in the cpt_kb_breadcrumbs() function. - Clarified cpt_is_knowledge_base() logic. - cpt_is_client_dashboard() now functions more intuitively. If no arguments are given, it returns true if any dashboard page is being shown. Arguments may also be given in the form of an array. - Page titles within the client dashboard now include both the dashboard title and the name of the page for all pages. #### Removed - Removed the confusingly named cpt_is_cpt() function from /frontend/frontend.php. cpt_is_client_dashboard() does the same job. (cpt_is_cpt() still works; it just returns the output of cpt_is_client_dashboard()). ### 1.7.5 - 2023-07-24 #### Added - cpt_is_client_dashboard('additional page') now returns true on additional pages and their descendants. ### 1.7.4 - 2023-05-22 #### Changed - Capitalize project labels just in case the user doesn't. - Add body classes for the primary dashboard tabs (dashboard, projects, and messages). - Updated front-end project page. ### 1.7.3 - 2023-05-10 #### Changed - TinyMCE editor toolbar simplified. - Restore message background color. #### Fixed - Prevent multiple CPT nav menus from showing up on the knowledge base. ### 1.7.2 - 2023-05-08 #### Changed - Added a "no projects found" message when a client does not have any projects. #### Removed - Removed custom fields from project forms. #### Fixed - Fixed a bug that was causing messages to be sent to the sender rather than the intended recipient, which is obviously not how it is supposed to work. ### 1.7.1 - 2023-05-08 #### Changed - Defaults for new project-related settings. - Updated readme.txt. ### 1.7 - 2023-05-08 #### Added - NEW MODULE: Projects & Stages! Organize your client projects and assign stages to different project types. - The new project widget and progress bar give a visual representation of your client's projects on their profile and dashboard. - Customize the projects label to whatever makes sense for your industry (e.g., files, accounts, matters, cases, dossiers). #### Changed - Change capability names (replaced hyphens with underscores). - Removed the default client manager. - Show an error if a page requests a nonexistent client. - Lots of small user experience improvements and updates. - All forms updated with an improved layout. - Reorganized stylesheets. #### Removed - /assets/js/messages.js (It was empty.) #### Fixed - When one expander is active, clicking another expander now closes it and restores the button label. - Fixed page titles not showing up on empty dashboard pages. - Lots of smaller fixes in the course of adding the Projects & Stages module. ### 1.6 - 2022-12-10 #### Added - It's now possible to add pages to the client dashboard navigation. Additional pages will be restricted to logged-in clients. - Optionally, include child pages of additional pages in the client dashboard navigation. ### 1.5 - 2022-11-03 #### Added - IMPORTANT: Passwordless login. The default frontend login process is now passwordless. Instead of entering a username and password, clients request a login code by email. (Username and password is still available.) #### Changed - Updated the new-client welcome message for passwordless login. - The frontend login form now uses AJAX rather than reloading the page with each submission. - Adjusted login modal max width. - Move the new and edit client forms to their own files, /admin/cpt-new-client-form.php and /admin/cpt-edit-client-form.php. - Simplified notices in the admin and on the front end. - Numerous minor formatting changes, tweaks, cleanup, and reorganizing, as usual. #### Fixed - Fix the modal dismiss button display. - Restore button code style to email cards. - Added overflow scrolling for modals. **See changelog.txt for older versions.** == Installation == #### Automatic Automatic installation is the easiest option. To do an automatic install of Client Power Tools, log in to your WordPress dashboard and go to **Plugins** / **Add New**. Enter “Client Power Tools" in the search field. To install Client Power Tools, click the **Install Now** button, then activate it by clicking the **Activate** button. #### Manual In order to install Client Power Tools manually, you will need to download the plugin here, then upload it to WordPress or use FTP software to upload it to your web server. [Visit the WordPress Codex for manual installation instructions.](https://wordpress.org/support/article/managing-plugins/#manual-upload-via-wordpress-admin) #### Updating I recommend enabling automatic updates for Client Power Tools. To enable automatic updates, log into your WordPress dashboard and go to **Plugins** / **Installed Plugins**. Look for Client Power Tools and click **Enable auto-updates** in the **Automatic Updates** column.