Task #3491
Updated by victor piousbox 12 days ago
I have an existing website: https://bjjcollective.com that I would like converted to Drupal 9.5 . This old website is a database of grappling (jiu jitsu) technique. Basically, if you're in some position (e.g. butterfly guard) there are things you can do with your legs, things you can do with your arms, you can defend, or you can attack. The website makes technique searchable and explains what you can do in each situation, in grappling.
I have the php source code, code and the database (mysql5), folders of thumbnails (mysql5) and a docker file that runs the obsolete required versions of the lamp stack. php and mysql. The database is really the only thing that you'd need to do the migration, because the old php code it too old to be used. I'll provide the old database, it's well-structured with no surprises. I'll also provide a folder of all thumb images.
In the application, there are two types of objects: a Category (would be a taxonomy term, for example:
<pre>
Guards -> Butterfly Guard -> Arm Drag -> Top -> Back Takes
</pre>
and a youtube Video (for example, http://www.youtube.com/embed/yIapN9IH4RY?feature=player_detailpage ).
So I would like to have a Drupal 9.5 instance, with a theme and a module (if needed), and a migration script that takes the existing mysql data and creates the necessary drupal objects: the taxonomy, and YoutubeVideo content type items. Then, I need any one video to be available at the path: https://bjjcollective.com/video/17546 (actually, \<new-domain\>/video/\<old-id\>). The youtube embed must be changed to https, and whatever else youtube requires these days. This is easy.
The somewhat difficult part is taking care of the categories. On the existing obsolete website, there are several types of categories: normal (e.g. Butterfly Guard), expanded (e.g. Guards), expanded2 (e.g. Top), inline (e.g. Back Takes). I think that's unmanageable and I see two ways of going forward. Also, currently there is no page corresponding to each category. I'll want a page for each category: \<new-domain\>/categories/guards/butterfly-guard/arm-drag/back-takes or something similar.
One way to move forward, is to make each category the same. A category has a thumb and a name, and children categories. Looking at a category, its children are displayed, the videos of this category are displayed, and there is the link to the parent.
Second way, have two types of categories: super and regular. A super category has a title but no thumbnail, it's children are expanded (with thumbs), there are videos of the current category, and a link to the parent.
Either way works for me, I'm open to any reasonable solution.
The migration script that you would write would take each row of sql and generate a YoutubeVideo content item. A different script would take every category, and generate a Taxonomy term. The module would make sure category urls work (e.g. \<new-domain\>/categories/guards/butterfly-guard/arm-drag/back-takes ). The theme would display each video page, and categories.
The page showing a category should have both the category tree, and the list of videos in the category. The page showing a video should show that video, but also the list of videos in that category, as well as a view of the category with its children and the link to the parent. When viewing a video, the categories can show titles only (that's the parent, current category, and children categories). When viewing a category, the thumbs should be displayed.
Every page is available to anonymous users. There is no need to wire comments or ratings at this time. The administrator of the website should be able to change (add/edit) categories, and videos, using a regular admin theme.
Please let me know if this is something you may be interested in doing as a project, and estimate the cost and time needed to complete. The deliverable would be a sql dump and a theme source code and a module source code. Thanks!