Commit graph

80 commits

Author SHA1 Message Date
ro
9991c9647d
performance update, fix for bulky tags file
cleaned up the code to get a massive boost to publishing and page
rendering speeds

the issue was related to pages being collected and transformed into
objects the system could use multiple times, resulting in sluggish
rendering due to available memory getting drained to accomodate a long
script running more than it was needed. edited the rendering process so
the script is only called one and the data is passed to the respective
functions that require that data.

also plugged in some minor manual garbage collection that speed up the
process a bit more

there was also a bug with rendering the tags file that was resulting in
the `tags.json` file being unusually large. the issue was tags were
getting replicated in the process resulting in adding duplicates to the
tag file everytime it was run. go rid of the unnecessary function that
was calling the replicate tags array and now the tags file is it's
appropriate size

whew, this turned out to be a big one that wasn't meant to be, but the
peformance boost was worth it
2025-06-18 13:43:24 -06:00
ro
82db115baf
patch for site initialization
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
2025-05-27 12:58:04 -06:00
ro
ffe2ccdf5c
damn cdata tag again... 2025-05-20 18:29:50 -06:00
ro
7b94d1bff7
quick fix for malformed CDATA tag 2025-05-20 18:26:14 -06:00
ro
0213c7b180
added feature medio to rss
just thought it would be a nice touch to pull in the featured media into
the descption for some extra pretty in the feed
2025-05-20 18:21:16 -06:00
ro
a21cc74241
rss link fix
item links were pointing to the wrong thing. oops.
2025-05-20 17:28:43 -06:00
ro
4c9fbc3ded
Added RSS
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
2025-05-20 17:10:57 -06:00
ro
5300c91058
moved login/logout to dash; removed AuthController
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
2025-05-17 08:03:46 -06:00
ro
743d7c4d90
routing overhaul
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!
2025-05-16 17:37:53 -06:00
ro
9c200ea78d
reorganized text editor
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
2025-05-12 13:12:58 -06:00
ro
16856f6c25
cleaned up page edit template, fix formatting
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
2025-05-08 18:25:57 -06:00
ro
3ae9dbea00
dynamic rendering patch
pages being rendered dynamically were not displaying properly due to
hitting a case that was not being captured. patched
2025-03-19 23:39:14 -06:00
ro
f53bb588c5
patch for page preview
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.
2024-11-01 15:23:22 -06:00
ro
c85e145774
added getbyIndex for pages, urlencode page titles
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
2024-09-04 14:32:36 -06:00
ro
0e6d4bd2b4
Case patch directory pathing
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.'
2024-08-30 16:14:15 -06:00
ro
1d206b927d
navigation sync bug fix, api & settings cleanup
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
2024-07-26 12:43:45 -06:00
ro
d8ed8b62c0
Page Admin API, part 2
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
2024-07-24 14:57:04 -06:00
ro
321feb9b92
Page Admin API, part 1
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
2024-07-23 17:46:45 -06:00
ro
4337a20fb8
API Improvements #116
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
2024-07-17 16:41:11 -06:00
ro
c5afbb9131
API Decouplng Part 2
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
2024-07-17 15:08:10 -06:00
ro
3d17771f76
API Decoupling, Part 1
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
2024-07-13 14:23:01 -06:00
ro
4113418c83
reorganized api, added token validation
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
2024-07-06 17:41:32 -06:00
ro
ac543f3856
UPDATE: page deletion
page editor was missing soft delete of page as it had not been wired up
to the new api yet. oops
2024-07-06 16:23:23 -06:00
ro
d24df50d96
FEATURE: Full site restore
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.
2024-07-05 13:17:53 -06:00
ro
4e880092c1
FEATURE: File Backup
Turned on file backups that grabs uploaded images in the public
directory and saves them in a zip so they can be downloaded and
archived.
2024-07-03 14:30:32 -06:00
ro
bc7b1fe7ec
FEATURE: Restore to default
plugged in a new feature that will allow the site to be reset to its
default state, clearing out all content and configurations to start
fresh
2024-07-02 17:09:27 -06:00
ro
928d5468db
removed hard-coded page id in theme controller
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
2024-06-26 17:10:24 -06:00
ro
ed6f028598
added layout varible to sorting, updated ignore
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
2024-06-26 14:08:53 -06:00
ro
37120efe18
asset moving for themes fixed, settings save patch
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
2024-06-25 15:33:42 -06:00
ro
e0994b32ab
mail error capture (#113)
tweaked error catching to return a message when the mail action fails
2024-06-05 13:50:45 -06:00
ro
b37e64d062
Updated Mailer (#113)
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
2024-06-05 13:33:11 -06:00
ro
8704fdcfe1
fix for status check
legacy reference to depracated auth class was removed
2024-06-04 14:58:55 -06:00
ro
35c22913f8
incorrect path to init service class
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
2024-06-02 20:52:01 -06:00
ro
91aa2703b6
avatar and background image upload fixed
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.
2024-05-31 12:56:38 -06:00
ro
cd056336cd
file upload fix
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
2024-05-28 13:16:50 -06:00
ro
8c375e6ba1
update member info from settings
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
2024-05-13 13:36:06 -06:00
ro
064407aa88
implemented member repo class
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
2024-05-13 12:06:05 -06:00
ro
36d04c8f68
reorganized services
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
2024-05-12 22:14:53 -06:00
ro
7f1654d13b
controller reorganization
cleaned up the controller directory and renamed files to more approriate
names.

made the appropriate changes to RouteController as well as tweaking the
routing so it's simpler and easier to follow
2024-05-09 11:24:12 -06:00
ro
bd25c0b104
route controller auth checking
there was no auth checking for dashboard and theme routing, so that's
been added
2024-05-08 12:27:56 -06:00
ro
e224410cfa
navigation route fix
the route to show menu order was erroring because it was calling a
misspelled method, so that was fixed

also added some notes to improve the StartController
2024-05-06 15:18:05 -06:00
ro
cb99c44a33
implemented dynamic page rendering
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
2024-05-06 15:09:24 -06:00
ro
ceeb4a2573
page routing rework
routing needed more nuance than what was possible in the web routing
controller, so a new RouteContoller was created to identify requests and
then sending them to the correct controller to get the appropriatie page

this was necessary because routing the previous was erroring out because
when the system was looking for pages to display with dynamic page
creation it would get confused with prexisting routes and choose to
display whatever the Start Controller was capturing, ignoring routes
defined in the web controller.

but that's been cleaned up without having to re-write everything and
continues to use existing controllers
2024-05-06 13:37:26 -06:00
ro
6cb9631a46
intergrated the fipamo theme kit
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
2024-04-25 15:03:06 -06:00
ro
8bf640ee18
edited asset moving class
conversion of markdown files to html works fine, but the coresponding
css, js and image assets were not being moved, so the class responsible
for moving them was edited so theme assets are moved to their
    appropriate directories when the site is published.

also made some css and image edits, and removed a legacy css files that
were no longer in use
2024-04-25 13:17:24 -06:00
ro
a92e124957
default theme clean up
the default theme included with fipamo was a bit janky, so that's been
cleaned to bring it more inline with current accessiblility standards,
an updated mobile friendly menu, updated the logo and plugged in the
fresh colors.

the layout is still a bit boring but the main purpose of the default is
to show how templating works, so it needs to be kept as simple as
possible

but it still has some room for making it pop a bit more.
2024-04-23 13:41:41 -06:00
ro
b2493820e9
activated image transfer for restore process
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
2024-04-18 14:36:05 -06:00
ro
2f0e1fdc62
implemented install from scratch
activated the fresh install process for setting up a brand new fipamo
install
2024-04-16 15:36:57 -06:00
ro
f8005aa60d
turned on backups
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
2024-04-05 12:29:38 -06:00
ro
1f62e6f816
reworked sorting service class
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
2024-03-28 16:42:37 -06:00