page tasks have been changed to accept JSON data for the sake of
consistency across the API. The only API method that will accept form
data is file uploads.
Also restored the post, put and delete pattern for better organization
and clarity describing what each page method is for
API Security has been reworked to check if request is secure, verifies
the API token created on site setup given to every member, and then
confirms the system is accepting API requests by way of the API enabled
toggle in settings
API usage is now only meant for backend use, so this needs to be noted
in the docs
When testing themes, the script wasn't moving all assets that were in
subdirectories of the theme css folder, so that's been fixed so it moves
everything when testing a theme and rendering the site
there was also an issue with saving settings options because the script
was referencing email data that was no longer being provided from the
front end, so it was erroring out trying to save it. those references
have been removed so it's smooth sailing
there were places in the codebase where path to fipamo specific paths
and file were hard-coded into the system, reducing flexibility and
customozation for people that want to define their own path.
those hard-coded elements have been removed and replaced with references
to the env file so those paths can be changed to whatever is needed
the .env.example file has also been updated to contain default paths for
easier installation.
uploading new member avatar and background images weren't uploading to
the correct location and the approprate files weren't being updated, so
that was been fixed.
the folks template in the init directory also needed be updated because
the system was looking for 'avatar' instead of 'avi' which was resulting
in some mismatch calls that were resulting in not found errors. the
variable is now 'avatar' everywhere for the sake of consistency.
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
a class for members was needed for long term handling of member
functions like login, update, status checking, etc so that class was
created and the AuthService class was removed as it was redundant and
it's functionaity moved to the member class
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
html page rendering works, so the next step was to get dynamic page
rendering up and running, meaning instead of pages being exported to
html, they are instead rendered on the fly when the corresponding URL is
hit.
the StartController that handles page routing needs to be organized a
bit better as there is some confusion between index and regular page
files so it's clear where requests are going and what is the expected
response
decided to keep the sorting service class as is and remix how it works to
return data objects rather than just settings information to render
pages.
the overall size of the class is still large but now there are
some opportunites to move around some methodolgy to reduce it.
also made the necessary changes in the render service class and the
theme controller to use the new methodology
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
page rendering for tags, archives and markdown pages is now up and
running and being exported to html when requested.
currently it only works when saving a page, so now the settings page
needs to be plugged in so those features can be activated and toggled
through that UI
error checking will probably be added in the near future just in case
something unforeseen happens in the render process, resulting in the
site erroring out.
with the archive template up and running a bug with page creation and
editing was revealed which was certain options were not being set
correctly due to property not being set correctly when an markdown page
was being edited.
also added a null state check for page submissions that do not have a
layout set, so it defaults to 'page'
also patched theme service class to look for blade templates instead of
twig, which it was still doing
plugged in sorting class to gather the info necessary for the render
class to convert markown files to html and move them to the correct
location in the public diretory
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.
There are some spacing issues that need to be addressed but the page
editor template has been added and the CSS all lines up
scripting is still an issue as the backend that handles content still
isn't in place, but the front facing piece is in place so now those
components can be built
scripting is going to get an overhaul anyway, so this is a good place to
start that process
plugged in classes for a page repository to handle editing and
retrieving page content and an interface class for the controller to talk to to
keep the methodoloy seperate from the controller to keep it all clean
now whatever changes that need to be made won't bother the controller
because it will always be looking for the same functions. super sweet