still finding bugs related to the big routing rewrite, this one being an
error when starting a new set up.
fortunately, it was just a matter of getting the redirects pointing to
where they should, so it's a small fix
plugged in a simple rss component so fipamo sites can be subscribed to
through feed reeders.
routing needed a bit of updating to make it work, so it's been edited to
accomodate any new url that deviate from created pages.
long live RSS
new floating text formatter had some reveal state issues, some styling
wonkyness and didn't have any bounding rules, so all of that has been
addressed.
also removed css references to a component that has been removed.
Member authorization got moved to the member repo class a long time ago,
so AuthController was a leftover when that process was handled by
something else
moved dashboard login/logout to DashController and got rid of
AuthController as it's not necessary anymore
previously all the of the page routing was handlede through controller
organized by CRUD methods. it worked, but organizing by CRUD and not
purpose resulted in more time spent looking for a specific task through
controllers, so it turned out not to an effecient way of organizing.
so routing has been completely reorganized into laravel's web routing
section and methods have been moved to their appropriate controller so
tasks are much easier to find
front facing page routing turned out to be a bit more tricky that
anticipated do the overap of routing paths, but it only affects dynamic
page rendering and there's a patch in place that handles that issue
until a better solution is found. Rendered HTML pages works fine.
whew!
there were a couple of glaring issues with the responsiveness of the new
page ui layout, so some of the bigger ones have been addressed
there's was also a bug where the sub-menu options weren't getting picked
up when being assigned in the script. fixed
the label for uploading files in the meta ui was not accessible by
keyboard, so that element was changed to a button that can be tabbed to
and clicked to open the file upload ui
there were also so minor css issues with the options toolbar, so those
have been tweaked
the bold, italic and strikethrough options now function as toggles for
formatting options and removes them rather than just replacing text
the options buttons under the meta ui now communicate their status
through use of the 'aria pressed' attribute so they can be properly read
by assitive technologies like screen readers
there were some nagging space issues in the new meta ui layout, so those
were addressed. it'll will probably change a billion more times, but
it's starting from a solid place
the text editor ui now only display when text is selected and goes away
after an operation has been completed or when text is deselected, making
the overall page editing experience streamlined
moved page meta data to it's own ui to clean up the page editing
experience as it was becoming a bit crowded.
also moved to saving and deleting buttons to title bar so they are
always available
added a note to web routes to reorganize them within the web routes file
to reduce the confusion present by having them in their own Controllers.
it's just an extra layer that's not needed
cleaned up the page edit template a bit to make it easier to convert to
the new editor UI.
php formatting also needed to be updated, so the php cs fixer file was
updated and added some setting to prettier to handle blade files
there was a generic place holder that defaulted to the default page
template to render pages. that's been fixed so it refers to the pages
layout to know what template to use
the theme color for the dashboard was incorrect, so that has been
updated and the responsive sticky for the text formatter in the page
editor went funky with posts that had a lot of text so that's been
adjusted so it behaves as it should when it has to resize and stick
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