Making the Journal Template
Step 1, An efficient Kanban board
Lets start with, What is a kanban board?
A Kanban board is a tool for agile projectmanagement.
Simply said, its a board that keeps track of where all the tasks are.
During a project you can divide your tasks into elements and put them on the board.
This way you can have a great view on what needs to be done and where we are.
In my experience in Bullet journaling(Bujo) I learned that its easier to let go of your train of throught by writing it down.
And during a gamejam we had a bright idea of making a fridge to store our ideas, and this addition always helped me
The most important feature in this kanban should be simplisity...as in making it simple for me AFTER its done
And that should be done by drag and dropping.
After a hot shower I realized the best way is to create folders and let php read those folders.
That way the only change that we need to do is move the projectfolder to the correct option.
It took a handfull of digging but I settled on using the scandir
function.
This function throws out all the data found in the path you have given it.
However keep in mind this function spits the data from the perpective of the code it is being called from.
And I just love the include
function within PHP.
adding a php script into a html script gives an Object-Oriented Project feel.
<?php
$dirFridge = "../Journal/Fridge/";
$dirGoals = "../Journal/Goals/";
$dirDoing = "../Journal/Doing/";
$dirDone = "../Journal/Done/";
$filesFridge = scandir($dirFridge);
$countFridge = count($filesFridge);
$filesGoals = scandir($dirGoals);
$countGoals = count($filesGoals);
$filesDoing = scandir($dirDoing);
$countDoing = count($filesDoing);
$filesDone = scandir($dirDone);
$countDone = count($filesDone);
$highestCount = max($countFridge,$countDoing,$countGoals,$countDone);
function filterEmpty($insert){
if($insert == "." || $insert == ".." || is_null($insert)){
return " ";
}else{
return $insert;
}
}
function CreateLinkIfNotEmpty($insert){
if($insert == "." || $insert == ".." || is_null($insert)){
return " ";
}else{
return $insert;
}
}
?>
<table>
<tr>
<th>Fridge</th>
<th>Goals</th>
<th>Doing</th>
<th>Done</th>
</tr>
<?php
for($i = 2; $i < $highestCount; $i++){ ?>
<tr>
<td><a href="<?php echo $dirFridge . filterEmpty($filesFridge[$i]) . "/JournalEntry.php"?> "><?php echo filterEmpty($filesFridge[$i]);?></a></td>
<td><a href="<?php echo $dirGoals . filterEmpty($filesGoals[$i]) . "/JournalEntry.php"?> "><?php echo filterEmpty($filesGoals[$i]);?></a></td>
<td><a href="<?php echo $dirDoing . filterEmpty($filesDoing[$i]) . "/JournalEntry.php"?> "><?php echo filterEmpty($filesDoing[$i]);?></a></td>
<td><a href="<?php echo $dirDone . filterEmpty($filesDone[$i]) . "/JournalEntry.php"?> "><?php echo filterEmpty($filesDone[$i]);?></a></td>
</tr>
<?php
}
?>
</table>
Making the Journal Template
Step 2, The homepage should not be empty
Now that the list has been created its important that the homepage is never empty.
But nobody wants to read what you're doing on the first visit.
The most interresting things need to be shown first and foremost.
Thats why I made a script using the done variable within the kanban board and my favorite include
function.
<?php
for($j = 0; $j < $countDone; $j++){
$solution = $filesDone[$j];
if($solution == "." || $solution == ".." || is_null($solution)){
}else{
?><hr /> <?php
include("Done/". $solution ."/ProjectInformation.php");
}
}
?>