removed all remaining API requests from the front end and removed the
FipamoAdminAPI js file, changing it to ContentRequest as it now handles
posting data to the system directly, authenticating it self by checking
the embedded CSRF token that regulary rotates
also renamed MaintenanceManager to Maintenance request and moved it to
the same dir as ContentRequest as they are both libraries that connect
to the backend
The first part of improving the API is removing all admin functions from
the front end so those no admin methods will be available client side.
The urls in the FipamoAdmin js file have been changed to post directly to the
system and they are handled from there. To account for this change
controller routes for every standard method have been created for better
organization and readability.
The FipamoAdmin js file will be integrated with the rest of the front
end code and will not be seperate library
content restore was already enabled, so the last step was completing
file restorartion if there was a file archive uploaded
now that this has been added, full site restore from backup archives now
works.
theme controller class was using hard coded uuids to find and display
page data, so that's been tweaked so that is no longer needed and finds
what it needs based on what time of view is being requested
also connected it the the preview 👁️ button in the page edit screen so
page layouts based on the current theme can be seen before they are
published
Removed email settings from settings.json and moved them to the .env
file to use Laravel's mailer functionality.
references to the old mailer has been removed from settings.json,
data sorting class and the settings template file
the front end script has also been updated to accomodate different
message types, starting with a test message so members can make sure the
settings defined in the .env are working
the settings page was failing to load because it was referencing a
parameter in the mail config data array that did not exist.
that's been fixed so the page loads properly
found a minor bug that was preventing file uploads, so that was fixed.
also commented out some buttons that are for features that have not been
added just yet
ripped out all of the old responsive styles from the setting layou and
plugged in the new format.
still needs some polish but the new structure is in place, so progress
will be easier
some script got removed during the restruction that included the js
handler for the mobile menu, so that was replaced with a css toggle to
keep it simple
the themes tab has been brought into alignment with the new design, so
the only thing that remains is redoing responsive styles for the
settings page
whew
redid the css for the member profile tab under settings.
responsive style still need to be addressed, but that will happen after
all tabs have been converted to the new layout
setting sync is working but member data was not being updated in the
folks file or in the current active session, so that's been addressed
still need to turn on avatar updating as well, but that is tied to
updating the settings page, so that will be handled when image uploads
for that area are reactivated
service classes are beginning to swell as there functionality is being
fleshed out, so a new organizational structure was needed to make sure
class sizes don't become too large and to increase site managability and
legibilty as more features get added and the code base grows.
data is for retrieving, managing site information, assets interact with external files
and upkeep is for maintenance.
some additional tweaks were also made to the options menu template to
prep it for it's transition to a toolbar component
logo images did not have an alt tag, so they've been added
buttons on the options menu were generic, so an interactive description
was added through the use of aria labels
added some labels to login and set up forms for better accesibility and
clarity about what info is being requested.
found a bug in setting where the site would error out if it can't find
the correct config files instead of going to set up, so when config
files aren't present, it loads template files to continue to process.
still thinking about a better fix for this
also discovered that the init files needed for a fresh install had been
removed, so those are back in place
main navigation had buttons nested inside of href tags to house previous
font icons that were removed, so the nesting is no longer needed and it
could introduce accessibility propblems, so it needed to be cleande up
now they are hrefs styled as the previous buttons so there is no visual
change in the UI
a basic preview engine has been added to ease the process of editing
pages. currently it previews all basic templates and custom created
pages
this is will replace the external fipamo theme kit tool, which will be
archived
rather than make a massive downloadable archive file for ever image on
the site (which still may happen), a method has been added to make
copies of imags from an external site and store them on the fresh
install based on the image list saved in the created back up file
it's clean but some additional error checking is needed so the process
does not crash out when a file can't be located and upon completion the
user can be notified of what images did not make it over in the process
laraval had a milestone update to version 11, so the codebase needed an
updgrade.
there was one package that wasn't needed that was blocking the upgrade
because it was attached to a hard coded dependency in an older version
of laravel so it was removed.
this changed required an edit of some template files, so those changes
were made as well
ported over the backup functionality from the old build to the new while
making few tweaks
instead of packaging up all files in the site to create massive zip
files, now a list of files is created for the user and blog directories
that the system will use to download and put them in the appropriate
directories, resulting in a such slimmer backup file.
archiving images my be added at a later date, but will be kept seperate
from the current back up process
improperly used role attributes have been removed from navigation edit
template
there was also a duplicate class attribute error in notifications that
has been fixed
the role attribute is being used incorrectly through out the site, which
is bad for screen reader, so they need to be removed and replaced with
the class attribute
the page editor was the biggest culprit, so that one has been converted
first
there were some random logos in the global images folder, so that was
cleaned up and replaced with primary and secondary options according to
the current color palette for the sake of flexibility
found a nice repo of svg icons, so experimented with adding one to the
sprite sheet to see if it works, which it does
the last ui page that needed to be added was managing the main
navigation menu for rendered pages, so that's been turned on. menu
items can be added by pinning pages to the menu when editing them and
can be removed by unpinning them or deleting them from the navigation
edit ui
it touched quite a few systems so all of those classes needed to be
edited as well tweaking the front end script to work with the new
modular script format
the notifications and page editor ui elements where the only remaining
space that still contained font icons, so they've been removed and
replaced with svg
some styling tweaks are still needed so that will handlded as the css
edits continue
using a font for icons isn't great for site accessibility, so all font
icons will be removed and replaced with svgs.
nav and sub nav, page options and recent meta have been replaced
turned on the abiity to save settings to config file via the settings
page
the current member session needs to updated by the data coming in but
that will be handled by a specific member service that hasn't been built
yet, so just commenting it out for now
also fixed a minor bug that was stopping the save on render toggle from
working correctly, so now it's saving and updating the status properly
now
with the setting page set up, now the the settings api can be added,
beginning with the ability to render all files from settings.
the base settings api class is set up, so now the rest of the methods
can be added
it's time to get the setting api running so site options can be editied
so the first step is to get the settings page up and running.
the sorting class is getting a bit heavy, but it will hold the method
for gathering settings page info for now.
editing page works but making new pages was still wonky, so that was
fixed and now page creation works fine
made some minor tweaks to prettier config for css formatting
the first part of the page editing API is working again after porting it over
form the old fipamo build. a few changes where made to make the code a
big more managable, but the end to end process works for updating pages.
the remaining page editing methods will be activated after the rendering
engine is in place because that's going to be a pretty siginficant
effort.
but this is a big step.
start building out the new version of the page editing api while making
some changes to the original scripts for added flexibility and using the
full range of HTTP methods that weren't being used before.
currenlty, it's just an end to end test to make sure the plumbing works
as it should data is being passed and can be processed.
now that it all works, the guts of page editing can be completed
update sortablejs to the latest since it's been awhile and got rid of
the old version
Got the first part of the API working, which checks to see if there is a
valid session active to set up requests
also some small changes to get the favicon working, yeah, yeah, but it's
cool looking...
seperated dash controllers for api controllers in the controller
directory to make them easier to manage
also added middleware to check authorization when accessing dash pages
dropped in js from the old site to begin the process of wiring up the
API, but this time around, scripts will be served directly in browswer
rather than being transpiled through NPM/Babel, eliminating the need for
NPM.
also scripting will new modularized and served specifically for the
requirements of the page loading it. no more front loading everything.
only script that is needed for that page will be retrieved. if no
scripting is needed, none will be loaded.
The only casualty so far has been syntax highlighting due to prismjs
still being a common js module, but either this will be replaced with
another library or a custom syntax enginge will be created at a later
date
page editing was missing the selector to choose what template the page
was using, so a theme class was created to handle retrieving and sorting
what classes where avaiable in the themes directory
still looking for twig files because themes haven't been converted over
yet, but one step at a time