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
so there was an error when trying to use services for API controllers
that was happening because the api middleware didn't pass the same info
as web middleware, resulting in session info not being passed to
controllers used in the api
after a bit of reading discovered necessary middleware could be added to
api routing so session data is available in in api routing
whew
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
expanded the auth service class to store member info in the current
session so validation is easier
also added a token to session data that expires every hour so people
won't be logged in forever and take breaks
hey, you matter too
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
moved the page listing template over and made all of the apropriate
changes so the CSS lines up as it should
there was also a minor issue that was keeping the sub menu for the start
pages from displaying so that was fixed
plugged in the dash index template which required grabbing markdown
pages and converting them to data the system can use and then pagination
that is used to sort content into pages
start page now switches from login screen to index based on session, but
that might be changes so it's a bit more clean to work with middleware
Added controller to handle the login process and session management
that stores information about the person that has logged in so that info
is available through out the app when logged in
Brought over a template from the old build to see how the conversion
process would go (it's not bad) and see if the CSS would still stick (it
did)
The wiring will be finished when the auth class is completed
Plugged in a basic auth classs for verifying members and a setting class
to retrieve site settings and return necessary info.
Very bare bones to start just to get it working and prep for the
additional features
Added the folder containg Fipamo markdown files to set up a basic route
for the start of the dashboard and quick test to make sure the file
paths can be read
also added CSS files that will style the new template system, which is
currenlty in twig but will be convereted to blade
Removed the Slim Framework from the codebase and installed the latest
Laravel version to be the new foundation for the project moving forward.
Code from the old version will now be ported to the new version.
There were some outstanding changes made a few months ago that haven't
been checked in, so getting those as the final commit before the
transition to Laravel
Cleaned up the settings page by removing the improper usage of the role
tag and replaced it with class to maintain current design integrity.
Also updated the script files that was referencing the old role tags
Began the process of removing all invalid role attributes starting with the header, login, and notifications components. Updated the corresponding scripts as well.
Made a few structural changes to the header to simply it and then tested it to ensure notification still worked.
Fixed the issue where the text edit controller would scroll right off
the screen. Now it stick when it's the bottom of the header.
Also changed the background color of page links on the Start and Book
pages to indicate there is no image. It's just cleaner
Composer dependencies were pretty old, so they needed to be upgraded to
the latest.
There was also a minor bug that was triggered when a new page was saved
with empty tags and no images or documents, so that's been patched as
well.
There was an error in the request to set up a fresh site on the front
end and handling the respective object on the backend that was causing
the process to error out.
Also added the source map for the dash script because it's eventually
going to be fully transparent anyway.
Removed 'carot-ps' from dependencies so it had to be removed from
scripts calling that package.
Also renamed dash script to 'dash.js' just so it's clear it is for the
dashboard
When creating new pages, there is no layout, so the system was pushing a
null error when trying to use string_contains and a null string, so
cleaned that up so it defaults to 'page' when that string is empty
Cleaned up resonsive for the rest of the remaining pages: the dash
index, page index, page editor, navigation editor and plugged in a
mobile nav that activates when the viewport gets skinny.
Whew.
Rebuilt forms for resetting the password, creating a fresh site and
restoring a site from a backup, as well as adjusting the accompanying
scripts that handle those processes.
Wasn't feeling the previous CSS responsive structure, so edited it to be
a bit more streamline.
Also fixed small issue with the backup API request.
Made a small change to notifications so the alert stays live while the
system is processing a request rather than going back to an unalert
state.
Started cleaning up responsive styles for the site starting with the
Settings section. Still needs some tweaking but the structure for that
section is in so it's just a matter of police.
Some changes need to be made to the main nav as reduced viewport throws
off the alignment.