userfrosting / learn Goto Github PK
View Code? Open in Web Editor NEWDocumentation and guide for UserFrosting
Home Page: https://learn.userfrosting.com
License: MIT License
Documentation and guide for UserFrosting
Home Page: https://learn.userfrosting.com
License: MIT License
On page https://learn.userfrosting.com/5.0/installation/environment/native/requirements#mailpit
link to https://github.com/axllent/mailpit/wiki/Docker-images just says "All documentation can now be found on mailpit.axllent.org."
I don't have time to track down an appropriate fix while proofreading, but wanted to flag this.
Since UF 4.2.0
, the migration naming convention has been relaxed. This change means that any file inside the migration directories will be picked up by the migrator. I would suggest that since the migrator is expected to only look for PHP classes, that it limits the search pattern to include only PHP files. If the migrator encounters a SQL file or CSV file (that our project was using for seeding and raw DB queries for updating tables with enum, for instance [which Eloquent doesn't support]), it gives an error like:
[ERROR] Unable to find the migration class
'\UserFrosting\Sprinkle\CardManager\Database\Migrations\v20171115\brand_ids'.
We are unable to run any migrations since updating to 4.2.0
without moving any migration helper files out of the migration directories and updating the old migrations to find a new path. It's not preventing us from working since a work-around is known, but keeping the data files for migrations in the same directory as the migration itself would be helpful.
You can recreate this by adding any non-PHP file to any migration subdirectory.
In advanced tutorial here: https://learn.userfrosting.com/recipes/advanced-tutorial/database#fetching-data-from-the-database
There is a brief mention on debugging.
At this point, it's a good idea to use Debugging to make sure everything works as it should. We'll use the Debug facade to do so. Start by adding the facade class to the usage declaration of your class:
and later on...
This file should contain something similar to this:
It is not sufficiently explained, or any references/links given, about what happens with this debugging procedure, or what this file is all about.
Hi
Found a documentation issue:
learn/pages/12.database/03.migrations/docs.md
Under header "Migrations" > "Tip"
"You never know what to that table later on and when or who will need to create it again later on a different system or even database provider!"
Best,
Christian
On:
https://learn.userfrosting.com/recipes/advanced-tutorial/database#creating-the-database-table-using-a-migration
In text:
Next we'll populate our newly created table with some default data. To do this, we'll create a second migration. While this could be done in the same migration as the table creation, it is recommended to separate your migrations (this also gives us an excuse to demonstrate the concept of migration dependencies). We call this second migration DefaultPastries:
app/sprinkles/pastries/src/Database/Migrations/v00/DefaultPastries.php
The "code" section indicates that the full file path should be
v00
.
Following the doc as is and then running the command php bakery migrate
, throws the following error:
Placing the DefaultPastries.php
file into the v100
folder, (same folder as PastriesTable.php
), and then running the command php bakery migrate
works as expected.
Best,
Jon
There is no mention of generating SSH key pair for installation via homestead here: https://github.com/userfrosting/learn/blob/master/pages/03.installation/01.environment/01.homestead/docs.md
This results in not being able to run vagrant up
and gives an error: Check your Homestead.yaml (or Homestead.json) file, the path to your private key does not exist.
The Advanced Homestead Setup
section does give instructions on how to generate a key pair. However, even after managing to generate a key it is not apparently obvious where the homestead.yaml
or homestead.json
files actually exist where this information needs to be added.
Being new to Userfrosting, i got a few problems with setting up new forms.
Would be great to have some Recipes about the process of setting up a new form modal and non-modal.
5.x
https://learn.userfrosting.com/installation/environment/native/requirements#nginx
Documentation says: "When using Apache to serve UserFrosting, make sure to include this directive in your site config."
But I think this should read "When using Nginx to serve UserFrosting, make sure to include this directive in your site config." ?
While creating #86, I noticed there's no contribution guide so I just created the PR against master
which I later found was the wrong one via https://learn.userfrosting.com/contributing. Fortunately, @lcharette fixed that (thanks btw!) so all is well now.
I'd be happy to create a PR for this but I'm not sure what solution would be preferred and I don't want to just duplicate the information at https://learn.userfrosting.com/contributing as one of them is bound to be out of date at some point.
I think PR templates would be a good start so we could tell potential contributors "Have you checked the guide at?"
https://help.github.com/en/articles/creating-a-pull-request-template-for-your-repository
It would be nice to have a landing page for people coming over from the userfrosting homepage:
This page: https://learn.userfrosting.com/basics/installation reads "See File System Permissions for help with this." but the page: https://learn.userfrosting.com/basics/requirements/basic-stack#file-system-permissions does not teach how to check for the correct permissions. Suggest some more text there to help new developers.
5.1
https://forums.userfrosting.com
Userfrosting Forums are showing -
ERR_FAILED
The webpage at https://forums.userfrosting.com might be temporarily down or it may have moved permanently to a new web address.
I dont know how to place comment lines inside the .env file but would like to add the following (if possible:)
//For example for MAMP you would write DB_HOST="127.0.0.1"
There was a misunderstanding in the support channel related to this, as it was assumed a sprinkle required some form of UI contribution.
... add that to the docs. Because everything I read implied I needed more than that. Even on the introduction page, adding 'A valid sprinkle can be an empty directory' would have been enough
If you search the documentation for something that can't be found, there is no indication of what's going on - it gives the impression that the search isn't working.
One idea would be to hide all topics on the left and display a message 'No results found'.
Not sure whether this is something that could be fixed on the UserFrosting setup side, or whether it's part of Grav.
Hi
On:
https://learn.userfrosting.com/recipes/advanced-tutorial/database
In text:
"First, we create the data model. In this model, we define the table name, list the columns we want to be mass assignable and enable automatic timestamp creation."
The "data model" link is broken - goes to Error Page:
https://learn.userfrosting.com/recipes/advanced-tutorial/database/database/overview#data-models
Best,
Christian
This page: https://learn.userfrosting.com/basics/installation
Reads: If this command fails, see npm to ensure npm is correctly installed and updated.
Points to this page if you click on NPM:
https://learn.userfrosting.com/requirements/essential-tools-for-php#npm
Resutls in 404 error page
Take this :
An exception has been thrown during the rendering of a template ("The asset 'vendor/font-awesome/css/font-awesome.css' could not be found. Referenced in '/home/vagrant/userfrosting/app/sprinkles/core/asset-bundles.json [css/main]'.").
And put it on this page :
https://learn.userfrosting.com/troubleshooting/common-problems
At this section, second paragraph there is an incomplete sentence: "Shared streams exists only in ."
Ubuntu20 fresh install locally; from install instructions: vagrant up won't work without fixing vagrant file
When using vagrant up on fresh install from the online install instructions, it won't work because in VagrantFile homestead must be Homestead
Fixed my VagrantFile homestead in line 5 to Homestead and it worked.
It seems that certbot has improved quite a bit, and it now automatically adds a renewal command as a cron job when a new certificate is generated. We should update the docs in https://learn.userfrosting.com/going-live/vps-production-environment/ssl to reflect this.
From the docs here: Defining Controller Classes
The naming convention is for any route that generates a page to be prefixed with page, while methods that retrieve JSON or other structured data begin with get.
However, in the advanced recipes, here: Fetching data from the database
The method is called displayPage
.
Should be called pageDisplay
, per the naming convention suggested. Further suggestion: something more specific than just Display
.
I got super confused about my new code not being pushed.... to find out in the help chat that I had to commit that new code to my repo in order for git pushing to work. Would be a great addition to the deployment tutorial for people with little basic knowledge about git... like me! Thanks!
In viewing https://github.com/userfrosting/learn/blob/master/pages/19.recipes/01.creating-a-new-page/docs.md, there was an issue getting a new page to work properly. Adding the following use statements to the top corrected it:
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
In the Migration section there is mentioned that you can change existing tables with following migrations, but there is no example how to extactly do it in UF, think this would be a good addition
Updating learn with the colors and fonts of userfrosting-web.
Making a few small changes that would improve the legibility of learn. For example:
Hi There
Sorry, total noob and been out of the web dev game for 15 years... but
should the line on "learn/pages/12.database/04.data-sprunjing/docs.md"
"A custom Sprunje is simply a class that extends the base UserFrosting\Sprinkles\Core\Sprunje\Sprunje"
have at the end
"UserFrosting\Sprinkles\Core\src\Sprunje""
?
i.e. Sprunje change to src
Best,
Christian
In the Get Started section, the user is directed to clone the Homestead repository with the following command:
git clone https://github.com/laravel/homestead.git vagrant/Homestead
However, this does not match the command in the vagrant/README.md which is:
git clone https://github.com/laravel/homestead.git vagrant/Homestead -b 20.04
The critical difference is the latter option is using -b to specify the specific branch, 20.04. This results in an entirely different virtual machine.
I originally used the clone command in the Learn documentation, and just spent an hour trying to identify why PHP and other dependencies differed from what was specified. This should be updated!
Chapter 7, page "The DI Container", near the very end:
In most case it's considered "best practice" to type-hint against interfaces, unless you explicitly required an
...unless what is explicitly required?
Seems like a simple fix, but I'm not conversant enough to complete the thought myself.
A lot of the people that pick up UserFrosting are new to the MVC pattern, and as a result there is a substantial amount of time spent getting people introduced to these concepts.
To help with this, I have put together a rough diagram that more accurately represents the MVC pattern (at least its implementation in UF). diagram
in: https://learn.userfrosting.com/services/default-services
the section about the debugLogger points here:
https://learn.userfrosting.com/userfrosting-learn/background/server-side#debug-facade ,
i got what i needed out of this page though: https://learn.userfrosting.com/background/server-side
A couple pages have the same content for h1 and h2:
On this page it states that UserFrosting permission to the following directories.
/app/cache
/app/logs
/app/sessions
While here it lists
/app/cache
/app/logs
/app/sessions
/app/storage
Basically /app/storage
is missing from the first link. Are both links correct? Does one of these articles need to be edit/updated to add/remove /app/storage
as requiring permission to be granted for UserFrosting?
This is more of a reminder for me then anything else.
I got XDebug working the other day, and the debugging experience is significantly better compared to unassisted techniques like manually logging to a file. Some setup is required, but its fairly easy for basic stacks. Given some modifications to the docker-compose.yml
and php Dockerfile
files it should be even easier to setup under Docker.
The ico file for learn.userfrosting and for the localhost instance of userfrosting when running is the same. Recommend that the icon for learn.userfrosting be different (maybe a different color for frosting the cupcake on learn?)
@lcharette suggested: Each page should have an 'Edit this page on github' link in the footer.
We don't have a footer yet, but we could create one. Or put this in the top bar.
@alexweissman where do you want this in the learn process?
I needed to get the li treeview item to be able to be a link
it's just a minor change in the AdminLTE-custom file in the core sprinkle
Much of the content in the "Going Live" chapter is of general interest to full-stack devs looking for a complete deployment solution. We should consider factoring it out or adding a link on the website in a way that makes it more prominent and discoverable in search engine results.
Looks like we've got some style conflicts due to the new style of underlining links that I implemented. Since the h elements are underlined as well, they have a double underline.
Noticed it on this page: http://localhost/userfrosting-learn/going-live/vps-production-environment/server-setup.
As of UserFrosting 4.2
I think the minimum required is 6.0.0
. If this is not accurate feel free to just close this.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.