Need help with basic concepts

Permalink
hi all,
I recently did my first steps using concrete5.
I m architect specialized in 3d rendering, 2d/3d CG senior.

I have basic static pages (HTML/CSS) knowledge.
It tends to be more advanced with last weeks of learning about new stuff (or i should say how to deal and take advantage of modern browsers, new tools, etc.).
I essencially gave a good refresh and improving to my old CSS knowledge (i stopped to practice HTML/CSS editing like a century ago), so the whole power of CSS combined with dynamic pages, templates is a funky new world to me.
I also have a little more clues about PHP coding, and how it is include or used to manage html elements.
End of this little resume to tell you where i m starting from.

Since i already did my bunch of 'tries and errors and looking for solutions' in concrete5, reading on forums/tutorials/docs, there is still some basic concepts that i m not sure i get.
For example express objects, express entities, attributes make me confused at some point.

I m lost in the 'cross connections' or 'linking' they offers and use between given objects or data, and regarding of the output, the sorting, etc, and pros and cons of various logics.

For example i m not sure to have a simple image gallery, or a portfolio structure that use templates and output more data than a Title and a Description, offer sorting/listing/tag or topics abilities and functions.

Lets me explain the kind of site i want to create, and the questions i got in mind regarding my specific case :

Mysite is mainly a portfolio (it will be the homepage or part of it, like 'most recents items' or 'one topic items' or 'one attribute items',etc.).
There will be other page sections (main menu items i could say) like 'About' 'Services' 'Contact' 'Blog' 'Shop'. So there will be a navigation menu.

By portfolio i mean gallery of images giving acces to more data, or displaying attached data to this image
(i dont want a simple image gallery, even with dynamic page navigation if it is possible).

Basically we could call the portfolio a gallery of "projects", with a project being 1 or various images files with formatted information data output.

This is > If we accept to display only one image per project i guess ?
or question 'A' :
would it be possible to display various times/place the same 'project object' displaying for each time a different image ? (for a 'project object' owning more than 1 image ofcourse)

The other option (yes there is already an option) would be:
The portfolio is a gallery of images (with express or attribute data attached) where each images are linked to a 'project object', the 'project object' can own 1 or various images (with their attached data if needed), the 'project object' has attached information data too (attributes, topic class, express entity attributes, etc.)

This is > If we want to display all images, and not only one per 'project object' (for projects with more than 1 image)

So (either way regarding those 2 options, it depends the reply of question 'A'), i was thinking about using express objects and express entity attributes, i m still not sure the whole setup is what i need or not too complexe for what i want.
But here is the basic scheme:

Express objects : Projet / Perspective (image)

'Projet' object attributes : Name, Year, Architecte (client), Catégory (class list, topic, something with predefined and multiple choice possible , for example : "housing" "public" "private",etc.)

'Perspective' object attributes : ViewName (or number), image file (link to the media file corresponding), PerspectiveCatégory (option list, topic, something with predefined and multiple choice possible , for example : "exterior" "interior" "night",etc.).

Maybe there is no need to create 'Perspective' express object, if i can store this kind of attribute directly for the media file, is it possible ?

Then the Portfolio page would list projects with express list block (customized template i guess to display the data just like i want, for example remove attribute names, and just display values), and all the sorting and selecting quick nav or topic selector stuff, paging navigation, etc.
Selecting a project would generate the project page with the choosen project page template, with wanted output data from attributes and express entities.

It is one of the most confusing part to me, so here is the 2 parts question 'B' :
Do express objects and express entities attributes are the best way to do what i want ?

Is it correct that there is no need to create all pages for each project manually ? (even if using a project template, i have the feeling express objects setup make the the whole thing more automated as i want)
and those pages are dynamically generated after onclick action (selecting an express entity object entry, with the attached informations/data, and output it using a dedicated template) ? Is it correct ?

And at the end having this kind of URL for the Portfolio :
mysite.com/portfolio

For a 'projectA' :
mysite.com/portfolio/projectA/

as if i had created the 'projectA' page manually selecting the express entity item and the 'linked' express list block of corresponding 'perspective' objects ?

i m already sorry if some of my questions sound totally dumb to you.
Now, thank you very much for the long reading, and please be nice to help me get all that stuff better ordered in my mind !

 
MattPesquet replied on at Permalink Reply
I know this is a long post, but that would be very nice if some good samaritan expert can enlighten me and give my some replies.
JohntheFish replied on at Permalink Reply
JohntheFish
The problem with your question is that it is very broad and pretty much amounts to "Reply with a complete course on concrete5".

General resources:
forums - loads of stuff if you read back
documentation - follow the links
tutorials - follow the links in the documentation
videos - concrete5 on youtube, though make sure you are viewing current rather than legacy
slack -https://www.concrete5.org/slack...
stackoverflow - there is a concrete5 tag, but its not that busy

None of the above offer complete info. All of the above together don't offer complete info. But if you come back here or on slack with a question along the lines of 'I read this documentation page and can't quite follow the 3rd example about XXX?' u=you are more likely to get a response.
MattPesquet replied on at Permalink Reply
Oh well, thank you for that reply..

As i have way more advanced knowledge with CG tools and workflows, i know how much an exper user can sometimes enlight easily and quickly a noob user around 'basic concepts', that is what i was looking for.

My bad, i knew i should have write a shorter post with just plain questions in order to get maybe some replies, even if it is not really the guidelines ofhttps://documentation.concrete5.org/tutorials/tips-getting-forum-que...

For sure i m not here to get support about an error or specific coding issue.

But explaining what is the expected result regarding my specific questions (yes there is specifics questions marked 'A' and 'B', at least) seems obvious.

And yes, i believe that all my blabla is stating i dont need a complete course on concrete5 (it is stating i m not PHP coding senior nor professionnal developper, so maybe 1 or 2 hints could be easily given by advanced developpers like you i guess taking into account this entry).
My post is also stating that i already have spent a good amount of time playing with concrete5, browsing doc (rather a quick review sometimes), forums...(as an example, forum.concrete5.fr french community is dead since 2015, haha!)

For example i came accross a very specific problem using express objects/express entities attributes 2 days ago (express entities attributes list item missing, reported as a bug on github and corrected in last official version released yesterday), for a 'noob' user like me the wall i hit could be due to the lack of my knowledge, and it could give me headache for days trying to find the comment on a forum giving the solution...
that is very unlucky that a 'noob' user have to report this kind of 'important enough issue' to me, with all the amount of senior devs using concrete5.

Just to have the pleasure to make another long and unread post, i could talk about the amazingly huge amount of very short and very practical (usefull and specific coding problems) comment questions on almost each page of the doc, that sleep there without reply since 2015 or 2016...

i repeat, i can browse almost each page of editor/dev doc to have a good example of this army of guys (way more advanced developpers than me) still waiting for their very specific reply.
When i have 'open source' community in my mind that makes me more confused.

For the braves that will reach here, my main questions reformatted :

Do express objects / express entities / express entities attributes are a good start to setup what i m looking for and described about the kind of portfolio i want ?

Is it a good idea to use this kind of setup, or is it too much hassle ? do you think an 'advanced' or custom CSS gallery could be enough ?

When i say i dont need a complete course in concrete5, i mean i already have read almost all the doc, most of tutorials, gave a look at Less, Bootstrap, CSS3, free templates, created a custom theme from html template to try, created a copy of Elemental theme to edit it... packaged themes, Application directory override...block directories, how to customize them, how to create new ones... (i will just have hard time with pure PHP code, but it is smelling that i will have to dig it for my self).

What i need is general advise like, should i better start from an existing template giving advantage of all premade stuff (page templates, Less basis, Bootstrap included, basic usefull attributes already setup, etc.) ?
Or should i start from scratch a new theme ?

Is it correct that one of the main advantage of using PHP site is to generate dynamicly all same type pages ? for example: all project pages, using project_page template injected with dynamic entry (connected to express entities i guess).

As in my first post, i mainly need someone to confirm that what i understand is correct, and how i plan to do things is also correct ?