Horizon (Next)
-
Short Term Objectives
Ability to do all of the basic Form-Customizer functionality Edit Form Properties (Single & Multi-Rec)
-
Test Links
Add Field to the “Test Field Types Table”
-
Loose-Ends to Finish & Dependencies
Sidebar-Items - Programmatic Control & Built-In Options
Bug: Devs should be able to modify all of the fields on the "Field Properties" https://localhost:7295/form/field/100/rec/100061 Options/Sidebar-Links Manager Setup the Add/Edit Sidebar Form Custom Gen Form OR We could try to do as a View But the Selection of which Form, Report or Template is tricky Setup the TableElement and DataTableElement Control for showing the “List-Overview” style since the List-Overview and Sidebar-Links Manager will be the same (ideally with the Pagination so that only shows 100 items max)
Sidebar Links Service (Programmatic Control) When we Navigate to a new page that is not a view, we need to have the Options (”SidebarLinks”) reset otherwise it will just keep it from the last one “Customizer” Built-In Sidebar links (as a sub-menu) (Or do we have a “Customizer-View” where we show the field types instead since we could be doing it where we don’t have a record yet!) “Customizer Modification History”
Bug - “Add Field” to Section isn’t adding it in the right order Also, its allowing duplicates When we have the “view_id” then we should be able to get the existing ones for the view and exclude them Gen-HTML - views.“hint” at the top of the form
Directory-Functionality
The Directory is “group” based, so we use their “default-group” if there isn’t a “group_id/key” passed in via the QS.
Permissions: The “directory-users” don’t have access into the main system, so when they login, it checks for this “is_directory_user” (or “user_type_id”) flag and if so then will redirect them to their “default_group_id” unless there is a “group_id” in the QS when they login, like when they are coming from an email about it (but in those cases, we should be sending them to the “group activity page” or their own profile page so that they can update it.)
Group Creation:
Groups are a “Contact” (since they have all of same social fields, just like an “Org”) so we have to setup the “contact_type_id” groups (essentially an Org, so only separate type so we can make it easier to show different forms for each of them) see #cover-page functionality which allows us to configure a different form to use per contact based on a filter (maybe just list-attribute for “contact_type” list) so we have to allow regular people to have their banner image too Requires that the user has the permission to “Create Groups” since this is a premium/paid feature
(the main key to whether they can still access it) (Main switch is between the “is_directory_user” vs internal users) if the person is an admin of multiple groups otherwise it default to the adding users “default-group” “group_permission_id” permission level (when “is_directory_user”) ideally if it was completely private so the user never sees it like “why full-admin” or why was invited Creates the “relationship” rec with the invited-date and invited-by (Similar functionality as the Password-Reset) to validate the invite code unless we can have custom-validation injected and the invite code is submitted like an input field but taken from the QS but we can configure the redirect-form Terms of Service Agreement for the Group Really just shows a “welcome message” and fields for The real checking for legit invite code is done in the API so we don’t even really need to do it Onload but we have to prefill the name and email fields ideally (Ideally we do the single-field at a time UX, to walk them through it the first time.) so we would show all of the fields once they have entered all of them Skills Interested in Learning How would they like to give back Current Employer (Creates a Contact Rec) (”Relationships” table to be able to provide employment history) Has to include the City and/or State next to the name since there can be similar named biz in each If they create the Org rec then they are the “owner” (entered-by) which allows them to update it What are their biggest challenges What are their goals for the next 12 months Religion or Spiritual-Journey so they feel inclined to elaborate
Single-Field-at-a-time Focus so that the form doesn’t seem overwhelming Photo Upload & Management but create a sib-table just for “Photos” with filter for the doc_type_id = key:photo (or just have “ord” = 1 for default) (Gets into Docs-Management) “Dynamic/Flip-Photo” Functionality When clicking/taping/hovering over a photo, it will change to a different “Group Specific Photo” functionality to be able to use a different photo for groups “Group-Directory-Browser”
The Key is being able to lazy-load by scrolling down or just simply page through and to be able to search by name (like you just met someone) like “mtb” (which has a vector that translates to cycling/mountain-biking”) (Essentially just like LinkedIn style but with location) Might be “Neighborhood” or even their actual address if its for an HOA Title/Specialty/Profession (LinkedIn Tagline) When part of multiple groups then it shows the shared/groups-in-common below the persons photo For when there is a good chance that you should connect
Bulk-Emails Functionality
For group admins to be able to message the whole group.
Free plan only allows one blast per week. So have to keep up with metrics, or have a groups-next_bulk_email_allowed_datetime (to abstract this functionality)
DataTableElement for Single-Row Forms (View-Forms Only) WHY: Needed for all sorts of places and to finish the FrmGen since we are using a super simple way compared to the reports “Viewing X of Y Records | View All” → Opens Report Do we actually use a Handlebars Templates So we generate the Card, Table, TH and a loop through the Data with the TRs “No Recs” will be handled like all of the other forms.
we should be able to pass in the rec_type_id to be able to view the disabled/deleted ones
Fields - Setup the Pre and Postfix for the View Forms test with “$” for a currency field Why is “Address Type” field using the wrong List
Rec-Saver - ensure that always encodes HTML
Error from the RecSaver should be showing up in the ValidationMessages Have to be able to setup a “test-error” way like passing in a special “IsTestError” param to the RecSaver Should be showing at the top and bottom of the form Test that ShowMajorError works when FormRender breaks Both in regular Form.razor and in the Modal
Add/Edit Alerts Form (View) with the built-in “Delete Record” option Uses the AlertBars Service will have an async API call to get this per record when looking at a main rec or details of a multi-rec (or case rec)
Should be able to enter “Linked-Fields” or “via Form” when entering a checklist completed date
Is there a better way to check this in the code-behind so doesn’t load any of the HTML Schema-Explorer-Details (not-data-explorer) Add Comp for “Sub-Tables” (Requires the “DataTableElement”) CurrentUser Check if Can Customize before allowing the Customizer Contextmenu options /// TODO: Ensure that this will work properly from here instead instead of having to do it in each page
/// Will auto-redirect if not logged in
isUserAuthenticated = await UserSessionService.Init();
Bug: Field-Order for New Fields isn’t working properly