From 7578ba02bcea477fd0edfb29731ac25297ac0f9e Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Tue, 8 Oct 2019 12:43:56 -0400 Subject: [PATCH] Re-organized admin request and flow documents. --- GLM-Associate-Admin-Flow.txt | 138 +++++++++++++++++++++++++++++++ GLM-Associate-Admin-Requests.txt | 41 +++++++++ glma-admin.odt | Bin 20556 -> 0 bytes 3 files changed, 179 insertions(+) create mode 100644 GLM-Associate-Admin-Flow.txt create mode 100644 GLM-Associate-Admin-Requests.txt delete mode 100644 glma-admin.odt diff --git a/GLM-Associate-Admin-Flow.txt b/GLM-Associate-Admin-Flow.txt new file mode 100644 index 0000000..1a42a09 --- /dev/null +++ b/GLM-Associate-Admin-Flow.txt @@ -0,0 +1,138 @@ + +INSTRUCTIONS + +This document is intended to develop into a detailed specification for the admin area. It should +evolve from a rough stategic document to that fully detailed specification. It's OK to include +items that generally describe what we want and how that will work and be applied then work out +the details over time. + +Please add any comments or sugggestions for changes rather than just changing things here. These +will be considered and either integrated into the outline, have added comments, or be deleted. + +Use the "General Comments" section for things that are not specific to a partcular area below that. + +Comments in specific areas should be indented from the item you're commenting on. Preceed all of +your comments with your name. Added comments on someone else's comment should be indeted further. +For example... + + * Some item already in the outline + Chuck: This is my suggested change + Steve: I tend to agree with this change but we might need to consider ... + Laury: Can we move this to ... + + + +GASLIGHT MEDIA ASSOCIATE ADMIN FLOW SPECIFICATION +------------------------------------------------- + +* General Objectives + + * Provide easy to understand overview and give users a smooth path to greater detail. + * Organize to be consistent with how users might view the overall structure of the admin tasks. + * This may or may not be consistent with organizing by Add-Ons - Something to think about + * Where it makes sense, continue to display summary of all related information when editing/updating + something in that group of related info. I.e. summarized sections that expand to forms when editing but + still leave the other information on the page. + * Standardize user interface so similar things in different areas work the same and are found in consistent locations. + * Provide easy access to related information including management and settings. + * Include General and detailed help information where needed. + * General Help information might be contained in a single document that contains all overall and add-on general + help information - Can use links that target a specific location in that document. This document should be + download able and printable. + * General help information link or icon should be in the same place for all widgets and pages + * Could be separate window for Desktop environment to permit referencing it while doing related work. + * Detailed help information should be available close to where it's needed (i.e. with the field being edited) + * A common Icon or link name should be used for all help information + * General help information should contain a logical organization diagram of related information + It should show how all of the groups of information are related for an application. + * Streamline common tasks - Posssibly offer "wizzards" for certain things. + * Wizards should use the actual items that the person has to work with normally to do the pieces of the general task + i.e. Required steps to create an Event or setup Registrations. + * As an alternative, or until we build widgets, have general help text show the steps needed to perform common things. + +* User Interface Components - Standardize + + * Menu + * Navigation / Headers to identify where the user is working + * Widgets - Main dashboard - elsewhere??? + * Temporary expanded info and edit possible features + * Expanding region + * Pop-up or overlay + * Sliders + * ??? + +* GLMA Menu + + Provides quick access to GLMA Main Dashboard and direct access to each significant + Add-On page. Some Add-Ons may not require their own page and may not have a menu item. + + * Consider if we should keep sub-menu items? Are they needed and if not how do we avoid them? + Consider if we need this menu at all if we have good navigation from the main GLMA dashboard. + * Current Menu Structure - Please fill in for other Add-Ons + * Members (Dashboard) + * List - Should consider not using these - main list for an add-on should be a feature of add-on dashboard + * Member (current or last accessed member) - might move this to be "last Member' as sub-menu item with "List" + * Files Library + * Settings + * Management + * Import + * Shortcodes + * Contacts + * Coupons + * List - Same here + * Events + * List - Same here + * Leads + * Packages + * Registrations + * List - Same Here + * Requests + * Accounts - Need to finish accounts implementation + +* Main Dashboard + + Main dashboard should provide the following. + + * Access to general Help infromation - Optionally entire help document. + * Display of relevant status (limited - any?) + * Notification of, and access to, things that need attention + * Access to settings associated with each Add-On widget + * Access to main lists of information in limited format + * Filters and sorting for these lists + * Easy access to expanded info and editing of entries in these lists + * Direct access to the associated add-on Dashboard + * Easy return to a focused widget after linking off to a relevant add-on page or + after use of an edit or info pop-up or slider + + Widgets + + * GLM Associate brief status - Widget + + * Access to related Help infromation + * Anything general to GLMA that needs attention + * Access to Global settings and management options + * Highlight if required infomation not completed - i.e. no categories or cities + + * Each add-on - Widget + + * Access to related Help infromation + * Relevant general status (limited) + * Contains brief summary information of things that need attention or flag that something needs attention + * Easy access to edit/update items needing attention and easy return to this widget + * Current active items of interest - i.e. currently open registrations + * Quick access to detail/edit of active items and easy return to this widget + * Direct access to entries in significant lists - i.e. members + * Quick access to detail/edit of list items and easy return to this widget + +* Individual Add-On pages (including members) - Matches admin menu entry? + + * Access to related Help infromation + * More detailed status that in Main Dashboard + * Direct access to items needing attention or of current relevance + * Easy access to significant lists + * Expanded information for individual list entries + * Easy acess for adding/deleting/updating information + + + + diff --git a/GLM-Associate-Admin-Requests.txt b/GLM-Associate-Admin-Requests.txt new file mode 100644 index 0000000..1ac8434 --- /dev/null +++ b/GLM-Associate-Admin-Requests.txt @@ -0,0 +1,41 @@ +GLMA Admin Issues and Requests +------------------------------ + +* Implement standard UI elements and Foundation 6 across all of admin section + + * Image tags need alt or decorative attributes. ‘alt=”” is decorative’ + * Need to work on making output for each plugin ADA compliant. + +* Plugin Specific +. + * Members Plugin + * Move Settings into the plugin + * Streamline the member and member profile edit pages so their one page + * Client need a way to send out notifications to their members, much like we have in the Event Registrations plugin. (with send now) Messages Plugin + * Events Plugin task#40611 + * Move Settings into the plugin + * Ability to add event category to the event url task#35231 + * Image Tags need alt or decorative attributes + * Contact Plugin + * Merge the migcsa work for contacts into main develop branch and release Chuck Says NO. + * Move settings into the plugin + * Audit Log for contacts (member contacts) High Priority + * Billing Plugin + * Move settings into the plugin (completed on develop) + * Test develop branch + - Square Payments + - Test with Migcsa billing + * Update multi selects with the jquery plugin used on member category search + * Custom Fields Plugin + 1. Add Management Options for custom fields plugin task#36480 + * Messaging Plugin + 1. Test the messages plugin task#36957 + 2. Stats filter (complete) + +* General + + * Create task for each website to update their gravity forms plugin and setup reCaptcha for the forms. + * Update any add on plugins for gravity forms first. + + + diff --git a/glma-admin.odt b/glma-admin.odt deleted file mode 100644 index c3da2e2f0f3d013961d345cdf0c3b6771b6f2faa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20556 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 -- 2.17.1