page preview from editor was not working because it was not passing the
page uuid correctly so it can be identified and rendered unto the theme
viewer.
small bug where links in the archive and tag templates where being
rendered as url encoded strings, so that needed to be decoded so it
displays as normal text
there was a minor bug that was preventing uploaded files to be removed
from the editor page even thought the remove button was pressed.
found and fixed
the theme controller was grabbing the index by its page name, which was
bad because that might change. that was replaced with a getById function
since the index id will always be 0 since it's the first page. this is a
seperate function from getByUuid which is a unique indentifier for each
page which was being used interchangably before the fix. all of those
references have been cleaned up to reference which type of id is needed
there was also a bug that happened on rendering when there were special
characters in the title. this was solved by saving the title as a
urlencoded string and then just decodded when it was needed for display
on the front end
the module used to sanitize html is no longer maintained, so updated
that methodology to use symfony's very sexy sanitizer
checked to make sure render on save was working as well.
app was erroring out because classes in the upkeep directory could not
be found due to a case mix up where 'Upkeep' and 'UpKeep' were both
being used causing a path error because the actual directory is 'Upkeep.'
Made a md file for the contribution guide to give guidance to people who
want to help with the project.
It's a living document, so changes will be made as needed.
updated the README to detail what the project is and its goals. it's the
first draft so it will change over time, but it provides a bit more
insight into what Fipamo is
the first part of the setting API has been restored, with the methods
sync, publish and nav-sync restored to working order under the new API
pattern. Documentation for the API will be completed after the upgrade
is complete.
There was also a script error when trying to edit a page from the link
menu on the dashboard, so that has been fixed as well
there was an error when reordering menu items due to a missing variable
to a service class, so that was patched
also removed unecessary code from api url definitions and settings
service class
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 accessible tasks (create, update, delete) have been updated to the
new format.
The controller needs to be cleaned up because it's a bit heavy and the
new API flow still needs to be properly documented, but it's a good
start
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
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
the current restore process only restored images and not the additional
file types that are allowed, so that has been added
also tweaked the reset request to include the correct token so the
request does not fail API authorization
the current file backup included images, but the additional asset types
such as sound files, video and docs were not being added if they
existed, so those have been added.
also tweaked the front end script to include the correct token for the
API so the backup request doesn't fail the auth check
when creating new ui elements for uploaded files, the 'data-source'
attribute was being created to store the upload path for the file which
is used to save that info in the page doc.
that attribute should be 'data-id' as that is what sortablejs looks for
when sorting element data into arrays
regrouped api calls for better organization and to add a bit more
security. it now checks to make sure the incoming token matches the
current session to authorize requests
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.
Patch for a bug that was deleteting the subdirectories of the theme css
folder holding additional theme assets when being published and tested in the theme kit.
also removed an unneccessary helper script and organized directory
actions in their own helper file to keep it all tidy
added a post install script to the composer.json file to automate the
creation of the .env file which hold app specific configs
also added a helper function to create new keys in the future
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
data sorting needed a new variable to differentiate between index page
rendering and standard page rendering, so that was added to the return
as well as updating the render script to include the variable that
wasn't being added for tags
also updated the git ignore file to ignore global images that are not
used by the base system. the script theme folder needs to be ignore as
well as that is going to updated by the theme itself for front end
coding and not used by the system
when pages where being unpinned from the main menu, there was an error
resulting from a missing method reference in the class
also rearranged some path references in the asset service class for the
sake of better organization
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
in the restore init process, there is a space that restores assets from
a previous install but grabbing them directly from the site and saving
them to the install.
a check was added so this script only runs if that url has been set in
the init restore form
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.
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
when sorting tags on a fresh install, a fatal error happens when the tag
array is empty because it looks for a var that doesn't exist yet. that's
been patched
the settings json file was still referencing the old version of the base
theme, so it was crashing because it doesn't exist anymore. updating it
to the new theme name clears this error
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
the init process was erroring out because instead of re-running the
script to make a valid token, it was not capturing the correct error, so
it would just fail
also the folder for saving config files needed to be created to save
them, so that addition was made as well
there was a fatal error in the init process because it was looking for a
class that had been moved but the reference had not been updated, which
is now corrected
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.
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