Beginner. Orientation needed...

pchristodoulou

New Member
Hi to all!

I am fairly new to Joomla and Fabrik and I would like to ask for some quick advice.
I am more of an enthusiast rather than a developer, trying to help a friend with some sort of web database application for some research needs. I need to ask some general questions and I would greatly appreciate anyone's contribution, in order to decide if it would be overwhelming for me to get involved with such a project.

So at least for the beginning, simple general questions in order to get some basic orientation towards my goal, find out what's possible, how easy etc.
Forgive me in advance for the long post.

A few words about what is needed:

  • A web-based database-sort-of application to record some research data concerning the identification of textile fibres found in archaeological or historical context.
  • The schema of the database has already been thought of and designed in general. Needless to dive deeper into it for the time being.
  • Data is spread in many tables in order to conform to basic database design principles, and at the same time keep the whole project flexible.
  • The site/application will also be able to manage a database of users with different access to the data stored (read, write, edit/review, approve etc.)
  • It would be desirable to have an anouncement system to promote cooperation.
Also a few words about me:
I am not a developer
I have a fair knowledge of database design and an advanced experience with Filemaker
I have a basic understanding of Joomla principles and concept,
I can "understand" what a simple piece of code is performing (e.g. in Javascript) and try to tweak it to my own needs if I find something similar.

Therefore, I am wondering whether it will be possible to climb the learning curve of Fabrik and Joomla and build it.

If the answer is positive (I really hope to it), how would you approach, what would you advise?

Currently, I am implementing the database tables in a free-hosted test platform of Joomla 3.8 and Fabrik to see what I can do, learn about field types supported, plugins etc.

Biggest challenge is how I will be able to show each basic entity along with related data.

Thanks a lot for any answers in advance.
 
My advice:

1. Be prepared to compromise on your design to minimise the amount of bespoke coding you need.

2. Spend time on learning about Fabrik - watch the tutorials (which though old and based on an old version of Fabrik/Joomla are still very relevant), read the wiki and be prepared to experiment.

3. When you have to code, try to find code in the forums / wiki and tweak it.

4. Ask here when you get stuck.

5. When you think the wiki could be better (with examples etc.), give back to the community by donating your time to improving it.

6. Ask for more detailed advice on your design before you start coding. Fabrik development is fast when you get it right first time, but going back and revising everything you have done so far (e.g. to apply new access settings) can be very time consuming.

7. Trying it first on a throw away experimental version could be a great approach.
 
Thanks for the followup Sophist.
I tried to coment with bold to your suggestions
My advice:

1. Be prepared to compromise on your design to minimise the amount of bespoke coding you need.
I am trying to find similar things but no success yet
2. Spend time on learning about Fabrik - watch the tutorials (which though old and based on an old version of Fabrik/Joomla are still very relevant), read the wiki and be prepared to experiment.
Already started with some success already (Cascading fields)
3. When you have to code, try to find code in the forums / wiki and tweak it.

4. Ask here when you get stuck.
How can I implement the Parent/Child related data? Will write soon a separate thread and link back here.
5. When you think the wiki could be better (with examples etc.), give back to the community by donating your time to improving it.
I can help with translation in Greek - tell me how
6. Ask for more detailed advice on your design before you start coding. Fabrik development is fast when you get it right first time, but going back and revising everything you have done so far (e.g. to apply new access settings) can be very time consuming.
I am trying to set it up at first without bespoke code as you said, using only Fabrik's screens/UI
7. Trying it first on a throw away experimental version could be a great approach.
Yes, oviously, started with a free hosting environment so I can mess it up...
 
1. Be prepared to compromise on your design to minimise the amount of bespoke coding you need.
I am trying to find similar things but no success yet
Perhaps I didn't explain myself properly. I didn't mean try to find a similar app to copy - most people use Fabrik because what they want is unique to some extent - but instead to try to avoid doing things that require bespoke php or javascript code, and instead change the design where you can to avoid these.
I can help with translation in Greek - tell me how
I am English, and I use the default Fabrik language - so I don't do any translations myself, and I am not sure what the current approach to translation is - whether Fabrik still uses transifex or whether you need to submit PRs with changes to the Greek language files which are all called el-GR.*.ini. Assuming it is via PRs, if you need a quick briefing on how to submit a PR with translations of strings that you see in English, let me know.
6. Ask for more detailed advice on your design before you start coding. Fabrik development is fast when you get it right first time, but going back and revising everything you have done so far (e.g. to apply new access settings) can be very time consuming.
Perhaps it would be better for you to try to the throw-away version and then ask specific questions.
 
OK, time for (BASIC) questions again...

I am trying to understand some basic concepts about working with Joomla+Fabrik:

While I feel I am steadily developing a grasp on setting the database "layer" with Fabrik, I can't yet understand how I can implement it on the front end of the Joomla site.

Since I am trying to produce a dynamic site with certain screens that will show data from my inter-related tables made/managed with fabrik, how do data get into Joomla pages?
 
http://fabrikar.com/help/tutorials/details/3/6-the-front-end
http://fabrikar.com/forums/index.php?wiki/menu-items/
You can show various information with Fabrik data like every Joomla! component, but with more options Fabrik data oriented.
Another way is to use content plugin and show list with your settings directly in Joomla! articles.
http://fabrikar.com/forums/index.php?wiki/content-plugin/
Watch videos(http://fabrikar.com/help/tutorials), read tutorials(http://fabrikar.com/forums/index.php?wiki/special/pages), try, try, try and then ask for help - this is the right order and way to learn more and more about Fabrik way of work.

Good Luck
 
Thanks for the reply, but unfortunately some resources (I've tried them myself already) don't exist.

http://fabrikar.com/help/tutorials/details/3/6-the-front-end NOTHING THERE
http://fabrikar.com/forums/index.php?wiki/menu-items/
You can show various information with Fabrik data like every Joomla! component, but with more options Fabrik data oriented.
Another way is to use content plugin and show list with your settings directly in Joomla! articles.
http://fabrikar.com/forums/index.php?wiki/content-plugin/
Watch videos(http://fabrikar.com/help/tutorials) NOTHING THERE, read tutorials(http://fabrikar.com/forums/index.php?wiki/special/pages)NOTHING THERE, try, try, try and then ask for help - this is the right order and way to learn more and more about Fabrik way of work.

Good Luck

First Link doesn't show anything.
Video Tutorials don't show up at all, why?
Also, from Fabrik Wiki Index, Tutorials contain nothing.

Is it only for me?
 
I don't know why these links not work on your pc. Everything is ok.
Try with another browser.
Start browser without addons, plugins.
 
I think the tutorials use flash, so you probably need a browser capable of showing flash - and that is why the tutorial screens don't work for you. But I may be wrong.

While I feel I am steadily developing a grasp on setting the database "layer" with Fabrik, I can't yet understand how I can implement it on the front end of the Joomla site.

Since I am trying to produce a dynamic site with certain screens that will show data from my inter-related tables made/managed with fabrik, how do data get into Joomla pages?
Hopefully you have grasped the concepts of Fabrik Lists and Forms, but just in case you are having difficulties...

In essence, the Fabrik list is the equivalent of an SQL select statement i.e. you can select multiple rows from one or more tables joined together and display them as a table. The Fabrik form is a way of displaying or editing the data in a single row (or using repeat groups in a single row of one table and multiple rows of another).

You can display lists or forms in various ways:
  • on multiple pages in a Joomla module (i.e. in a sidebar) - you might use this for a ToDo list for a user, or for the announcements you talked about;
  • or you can embed them in a Joomla article - you might use this when you want to publish the data as part of a research article for example;
  • or you can display as content in the Joomla content section - this is probably where you want your users to do most of the Fabrik work.

If you want to display as content in the Joomla content section, then you decide what to display using the URL, and you send the user to that URL using a menu item or from a link generated by Fabrik i.e. a link from a row in a List to a form showing the data for that row, or using a link that you generate yourself.

From what you said in the first post, I would imagine that you will have a table that contains a row for each "find" - and each "find" will have a whole bunch of data describing e.g. when it was found, where it was found, the types of fibres, the carbon dated age, a map reference, the name of the person who found it, a picture of the fibres, the chemical analysis data, etc. and since you want to make sure that this data is consistent then a lot of this data might actually be held as foreign keys to information held in other tables which are joined (e.g. the types of fibres might be from an archaeological standard list of 30 different types).

So I would start by trying to create this list and get the data held correctly, without worrying how you want to display it.

Thus far you can probably do this without writing much or even any php or javascript code.

The site/application will also be able to manage a database of users with different access to the data stored (read, write, edit/review, approve etc.)

Now it starts to get a little more complicated. Firstly you need to define the different types of user / activities that users can do, and also the workflow i.e. user1 creates a draft entry, user2 has to be able to list draft entries and then review them and either approve them or send them back for rework. So now each "find" needs a status and you need to create fabrik functionality to show the right finds to the right people depending on status and other factors.

You can do this by carefully creating the right URLs to show exactly the data they are allowed to see, BUT you also need to guard against users hand crafting URLs to let them see or change data that they should not have access to. To stop this, you need to use functionality that is hard coded into Joomla / Fabrik that users cannot get around using hand crafted URLs. And this means Joomla's User Groups and View Access Levels. And this is where you can get caught in quicksand if you are not careful - because changing these when you find you have got them wrong can be VERY VERY VERY time consuming because you need to edit every element individually to change them.

So, you need to give some thought to what users should be allowed to do, and the workflow that will be followed, and define your Joomla user groups and view access levels carefully from the start. And you might want to document this and give it to someone more experienced to review (or even pay Media A-Team to review it for you).

7. Trying it first on a throw away experimental version could be a great approach.
This is the reason I suggested this two phase approach - try creating an experimental version so you can get the hang of creating Lists and Forms and Groups and Elements, without any Access levels set - and then junk it and start again setting Access Levels as you go.

The good news is that if you keep your requirements / design to what Fabrik provides as standard functionality, then you can still do all of this without any php or javascript programming.

I think I will stop here - because that has probably given you quite enough to think about.
 
Wow, Sophist that has definitely set a definite waypoint!

Thank you very much for your advice, indeed that was what I had in mind pursuing.

My previous experience with databases will definitely help since I already have a basic ERD of the data structure.
I will start implementing so I can share if need more advice later on more specific details.

My biggest concern now is how to publish content, since what I need is an application environment...

As for the videos, I also think Flash is the problem. Will install flash and try again, as I tried in another computer with flash and saw them without any problem.
 
My previous experience with databases will definitely help since I already have a basic ERD of the data structure.
I will start implementing so I can share if need more advice later on more specific details.
Great - please ask further questions when you need to. And if you can make notes about how easy you find the learning curve and whether the Wiki assists you with climbing the learning curve or not that would be great - and if you are prepared to spend some of your Fabrik time improving the wiki based on your own experiences that would be even greater.
My biggest concern now is how to publish content, since what I need is an application environment...
Note sure what you mean by "content" and "application environment"...

By "content" do you mean traditional web content or Fabrik database content? If you mean textual content about textile fibres, then you might want to launch your web site as a platform for people to publish their "papers" about fibres with a promise for a database to follow.

By "application environment" do you mean a PHP / web server / MySQL environment? You will need a development "environment" to get started with - which you can run on your own PC using a downloadable pre-integrated MySQL / Apache Web Server / PHP (though if you run it this way then if you need help we may not be able to view it) - or you can use a hosted environment in the cloud (which cost only a few ?/$ per month these days for the small environment you will want for development.

But if you mean something else for these, please explain and we can provide advice.
 
I apologize for my not so well (to say the least) chosen jargon.

I tried to explain from a user's standpoint how it will look like (UI wise).

By "content" I mean how to present as Joomla Content what is stored in my DB Schema in a meaningful and useful way.
By "application environment" I was referring to a user-friendly interface/ presentation layer mostly.

Imagine an Atlas of up-to-date known fibers, hints for their identification, presentation of real finds, hints to their preservation, reference bibliography (per find and per kind), building a research network and promoting knowledge.

For the time being I suppose the way to go will be one MAIN Joomla article (like an entry to an Atlas) for each kind of Fibre, inside which examples will be shown with reference to current research bibliography, ancient/historical text sources, etc. Is it possible? Ideas, suggestions, comments for unforeseen weaknesses, etc, are more than welcome!


PS> Did I thank you enough for your genuine interest? I hope I can be of any help with translation, though I didn't understand much of what you said earlier regarding contributions to that.
 
At this stage I think you should concentrate on creating the database and trust that you will be able to display it in a nice way further down the line.

For the Atlas, it sounds like you will want to search in multiple ways; Joomla has reasonably good search functionality and (though I haven't used this myself) I believe that Fabrik can utilise this so that you can do flexible searches. The wiki may be able to tell you more. But it does feel like you will want to hold lots of snippets of information of lots of different types - and that probably means you need to think about holding the data itself in a simplified schema, and have a metadata schema that allows you to extend it easily.

(You may want to look at how the MusicBrainz team have structured their schema for their music database - which has a huge number of different types of relationship which are held in a small number of tables with a metadata schema allowing the type of a specific relationship to be identified.)

Also, have you considered whether something like Wiki-Media might suit this better or be complementary in some way?
 
Wow! Just had a look at MusicBrainz, it looks very close to what I can dream of (but how easy will it be...).

Is "MusicBrainz-sort-of" possible to make with Fabrik????

Have a look at a simplified ERD if you want. Resembles MusicBrainz's a bit.
 
I have no idea whether it can be achieved with Fabrik, but there is a good chance it can be.

My gut reactions to the ERD are:

1. Try to build it as is rather than I suggested before - there are 14 main tables (rectangles) some of which are reference tables, and a similar number of relationship tables (diamonds - many-to-many relationships). Fabrik supports many to many relationships as checkboxes or multi-select lists - see what the wiki / forums say about those.

2. You are going to be constrained by what Fabrik can't do - whether something that Fabrik can't do is something that is essential for your project I have no idea.

3. If Fabrik can do it, it feels like it will need quite a bit of php / javascript programming. And this is definitely an advanced project.

4. My experience is that when you try to push the boundaries, you will come across bugs in Fabrik. So be prepared to spend time fixing them or paying Media A-Team to fix them.
 
We are in need of some funding.
More details.

Thank you.

Members online

Back
Top