adventurelookup / adventurelookup Goto Github PK
View Code? Open in Web Editor NEWAdventure Lookup Main Repository
Home Page: https://adventurelookup.com
License: MIT License
Adventure Lookup Main Repository
Home Page: https://adventurelookup.com
License: MIT License
I guess this is part of the larger issue with tracking changes and being able to see them. And obviously that anyone can make changes now.
I spent a while entering the first adventure from the first issue of Dungeon Magazine, The Dark Tower of Cabilar, and now it's gone. And someone else has entered it, but under a different name (typo in the title).
I want to make sure, when I talk about AL.com, folks don't have to worry about their content being destroyed capriciously. And if something like that does happen, there's a recourse.
This functionality was lost during the transition to a static data model.
People are going to want to post links in the URL field to illegal PDFs. By and large these PDFs are all hosted in a handful of sites, which we should be able to blacklist.
And we should be able to add to that blacklist.
Users who submit links to these sites should get an error "Please do not link to torrent sites or illegal pdfs."
It would also be nice if the admins would get an alert when this happens so if there are repeat offenders among the curators, we can ban them.
Which means we may need the facility to ban people. :D
Implement a static data format for Author and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.
Ensure the generated table is singular.
Entity properties:
Ratings could be left by registered individuals on a per adventure basis. Ratings would be an binary field representing "thumbs up" (1) or "thumbs down" (0). A row for a user on a specific adventure would only exist if they've clicked either thumbs up or thumbs down. Maybe clicking the same option again removes your rating in case you change your mind?
Reviews will be implemented in a separate issue.
I assume I'm using this terminology correctly. The things that can populate a field within a record.
Right now people can add Orc and Orcs and while that isn't the end of the world, it bugs me. :D The search should return Orc result for Orcs and vice versa.
But more to the point, people can stick things in there, like Waterdeep for Setting, and then other people will think "Oh this Forgotten Realms adventure should be a Waterdeep adventure" and that is no bueno.
This functionality may already exist in an admin panel I do not wot of.
Implement a static data format for Environment and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.
Ensure the generated table is singular.
Entity properties:
It would be helpful to know what people are working on so we don't duplicate effort. Can we use the kanban feature of Projects for that? If so, can I get access to the Projects functionality?
You know, shit goes in there and I want to check it out and maybe edit it, but I can't see who's doing what.
This would also help us learn who the good curators are.
I edited the Deep Horizon record because it was linking to a copyright-violating site, and now the record doesn't show up when I search for it.
To be clear, it did show up originally, that's how I found it.
This is not the first time this has happened to me. Last time Jerry rebuilt the index and that fixed it. This definitely needs to be fixed before I go on YouTube and promote this thing. :D
When I try to log in, I get "Invalid credentials."
I think this is a distraction and I don't clearly see the benefit.
When editing an adventure, need a way to select many fields for Approve/Reject at once. Right now editing adventures is a pain in the butt.
The index
page needs search filters for the fields again.
When these are in again, the show
page should link all info to the index
page with the info's value preselected as filter.
I got through install, but am now getting an exception when I try to run the site.
php bin/console server:start 0.0.0.0
and nodejs node_modules/webpack/bin/webpack --watch --progress
both seem to work, but when I navigate to http://localhost:8000/app_dev.php I get the following:
Warning: SessionHandler::read(): Session data file is not created by your uid
The stack trace located the problem in var/cache/dev/classes.php at line 367
I think letting any registered user add fields is a bad idea. It has the potential to create a mess for moderators and a bunch of gaps in the database. For example, user A thinks to herself, "gee, I think there ought to be a filter for Cost...I'm gonna add it." At the same time, user B has the same thought and adds a field called "Price". Same data, two different field names. Even worse, user C thinks there ought to be a field for "contains elves", or something similarly arcane/weird. Nobody is able to ensure that data is being consistently entered for any of these user-defined fields, so we end up with bloated records that are missing tons of data.
I strongly recommend that we remove this feature in lieu of a fixed set of fields (basically the ones we already have). If users really want another field they can ask for it via a comment form or reddit. If we get enough requests it's easy enough to add a field deliberately.
The current permission model lacks in a few important aspects, i.e. everyone can create an account and simply delete all adventures. This needs to be fixed until Matt makes a video and opens ADL to a larger audience. Here is my proposed, simple model (keep in mind, we want this to happen as fast as possible). All access levels can do everything listed above in addition to their level. Note that there is no approval process in this design.
Can view and search adventures.
ROLE_USER
Can create new adventures, can edit and delete adventures they created.
Can comment on all adventures to suggest changes (really just a text input they can dump suggested changes into. This could of course be improved by allowing them to directly say which field to change to which value, but for now a simple comment box should be sufficient).
ROLE_CURATOR
Can create and edit all adventures.
Can access the EasyAdmin backend except for user table.
ROLE_ADMIN
Can view user list and recent activity
Can access the full EasyAdmin backend
We got lots of links in the thumbnail field, but we don't see any thumbnails on the site! We should see them on the front page, wherever the adventure shows up.
Should be added to gitignore too.
Hi, I'm getting the following error when I try setting up the database:
An exception occured in driver: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
I tried accessing that admin backend at http://localhost:8000/app_dev.php/admin/, but am getting a 403 Forbidden access denied error. Did something change in permissions that blocks admin access? If so, how can I get into the admin while running locally?
Someone busted their ass and added a ton of Star Wars data to the site, and I had to delete it because AL.com is D&D specific.
I want to make sure that doesn't happen again, so when someone clicks "Add an adventure" we need some text somewhere saying "AdventureLookup is for D&D and it's clones. Not other systems/genres."
Similar to the setting, implement a static data format for Monsters and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page. Relationship would be ManyToMany between Adventure and Monster.
Entity properties:
Example dataset:
Orc, Humanoid
Kobold, Humanoid
Goblin, Humanoid
Gnoll, Humanoid
Hobgoblin, Humanoid
Beholder, Aberration
Black Pudding, Ooze
Mind Flayer, Aberration
Drow, Humanoid
Wyrmling, Dragon
Bulette, Monstrosity
Hill Giant, Giant
Stone Giant, Giant
Frost Giant, Giant
Storm Giant, Giant
Kuo-Toa, Humanoid
Lich, Undead
Slaad, Aberration
Umber Hulk, Monstrosity
Arcanamite, Monstrosity
Warhorse, Beast
Gazer, Aberration
Skin Bat, Undead
Deva, Celestial
Unicorn, Celestial
Pegasus, Celestial
Eye Golem, Construct
Homunculus, Construct
Flesh Golem, Construct
Myr, Construct
Stone Golem, Construct
Azer, Elemental
Djinni, Elemental
Gargoyl, Elemental
Salamander, Elemental
Spark, Elemental
Water Elemental, Elemental
Annis Hag, Fey
Boggle, Fey
Cactid, Plant
Dragonleaf Tree, Plant
Myconid, Plant
Vegepygmy, Plant
Baneling, Fiend
Night Hag, Fiend
Hell Hound, Fiend
Ink Devil, Fiend
Rakshasa, Fiend
Rakshasa, Fiend
Coral Drake, Dragon
Ash Drake, Dragon
Dragon Turtle, Dragon
Luck Dragon, Dragon
Pseudodragon, Dragon
Star Drake, Dragon
Uniques
River King, Fey
Sarastra, Fey
Kalarel, Humanoid
Balor, Fiend
Akyishigal, Fiend
Alquam, Fiend
Zmey, Dragon
Monster Type example dataset
3e 3.5e
Aberration
Animal
Beast
Construct
Deathless
Dragon
Elemental
Fey
Giant
Humanoid
Magical Beast
Monstrous humanoid
Ooze
Outsider
Planetouched
Plant
Shapechanger
Undead
Vermin
4e
Animate
5e
Celestial
Monstrosity
Fiend
There currently is no way to recover a lost password.
Implementing such a functionality would require emailing to be setup.
When I run 'composer install -n' I get the following error:
Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the symfony-scripts event terminated with an exception
[RuntimeException]
An error occurred when executing the "'cache:clear --no-warmup'" command:
PHP Fatal error: Uncaught Symfony\Component\Debug\Exception\ClassNotFoundException: Attempted to load class "DOMDocument" from the global namespace.
Did you forget a "use" statement? in /var/www/new.adventurelookup.com/html/vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.php:52
Stack trace:
#0 /var/www/new.adventurelookup.com/html/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php(263): Symfony\Component\Config\Util\XmlUtils::loadFile('/var/www/new.ad...', Array)
#1 /var/www/new.adventurelookup.com/html/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Loader/XmlFileLoader.php(41): Symfony\Component\DependencyInjection\Loader\XmlFileLoader->parseFileToDOM('/var/www/new.ad...')
#2 /var/www/new.adventurelookup.com/html/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/DependencyInjection/FrameworkExtension.php(72): Symfony\Component\DependencyInjection\Loader\XmlFileLoader->load('web.xml')
#3 /var/www/new.adventurelookup.com/html/vendor/symfony/symf in /var/www/new.adventurelookup.com/html/vendor/symfony/symfony/src/Symfony/Component/Config/Util/XmlUtils.php on line 52
.
* min start level
* max start level
* start level range
* soloable
* num pages
* pregenerated chars
* link
* thumb
* tactical maps
* handouts
* description
* found in
When clicking an author or artist's name on an entry, the browser redirects to a search of author_list:"Firstname Lastname", but the entries found when searching for that author without the author_list:"" tags do not appear.
Created the dev branch that will be used for active development. Changes to the dev branch will go out to the staging server (presumably automatically, once I can get something configured for it). The dev branch is protected and requires PRs to be approved by a contributor with write permissions before it gets merged in.
The paradigm moving forward will be that master
is only merged into from dev
and the branch protections require a code owner to review those changes and approve them.
So for all future PRs, be sure you're targeting dev
as the destination. If these turn out to be a pain or overly restrictive we can change the settings at any time in the future. As a side note, there are still 2 teams, Backend and Frontend from the python attempt. I'll probably clean up those teams (and users) sometime tonight or tomorrow and remove them from the organization.
As you guys are using tech I'm not very familiar with, I would appreciate a list of commands that you recommend I do whenever I pull from GitHub to the server.
Implement a static data format for Publishers and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.
Ensure the generated table is singular.
Entity properties:
I've been working on an updated visual design and user experience for the last few weeks.
A public Invision prototype is available here:
https://invis.io/D7CI37UFC
Sketch files are available here:
https://thisismess.box.com/s/k4omrg7dpyuzww3v56r46b9bqlnjr73q
I'll keep both of these links up to date as I continue refining the design and flow.
If you'd like to work on the Sketch files, you'll need to get a few typefaces. These are commercial typefaces, so I can't provide them as part of the source, or as a public download:
Adelle
DIN Pro
I'm not sure it will scale well for @JohnnyFlash to be running out updates manually forever and ever. Its also probably not worth it to do a fully automated CI/CD approach, where the server gets update everytime there is a merge into the master
branch.
Thoughts about something a little more pragmatic, like Deployer?
I apparently disapproved and/or deleted an adventure that I had previously added while editing it. Now, if I try and add it again, I receive a page with only "Damn!" written in it and the adventure is not added and does not appear in search.
Implement a static data format for NPC and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.
Ensure the generated table is singular.
Entity properties:
I am trying to set the latest version up on a different computer. Install is fine until the database setup step, which fails with the following error:
Migration 20180000000000 failed during Execution. Error Number of tag names changed!
[Doctrine\DBAL\Migrations\AbortMigrationException] Number of tag names changed!
Presently it is only utf8, which mysql built to only support up to 3 bytes of character data, which excludes a whole lot of character that are in the "UTF-8" charset. It is unilaterally recommended to change from utf8 to utf8mb4.
This is easy to do for local development environments and the staging server; we wipe the data and rebuild the database with no fuss. Production will have to be manually migrated. Fortunately its not difficult.
Can't get this to work. No matter what range of pages I apply, no filter actually goes into effect. All adventures remain listed, regardless of their page count.
You should come directly to /adventures
when visiting the site.
Implement a static data format for Editions and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.
Ensure the generated table is singular.
Entity properties:
Example data:
I've never played in it, but from some research it sounds as if B/X and BECMI didn't really change enough compared to the OD&D basic rules to warrant separate categorization? In any case, this is just an example, the admin interface would need to support adding more editions.
Haven't spun up the local environment yet to test the specific error.
Implement a static data format for Item and store it in an entity, generate its migration(s) and repository, and create a fixture to populate a subset of data for development purposes. Also, add it to the adventure/show and adventure/edit views and ensure the data is searchable via the free-text search box at the top of the adventures/index page.
Ensure the generated table is singular.
Entity properties:
Current version of the production server advocates for non-production configuration, notably, using libapache2-mod-php7.0
instead of the significantly more performant libapache2-mod-fastcgi
When this is undertaken, it may be advisable to simply move to nginx for the ease of configuration and performance gains.
Just a thought, what do people think?
Hey, I'm having a problem merging the current master into my local respository to stay synced. Specifically, I am getting the following error:
CONFLICT (modify/delete): ubuntu-xenial-16.04-cloudimg-console.log deleted in upstream/master and modified in HEAD. Version HEAD of ubuntu-xenial-16.04-cloudimg-console.log left in tree. Automatic merge failed; fix conflicts and then commit the result.
I suspect this has to do with moving vagrant to gitignore, but I'm not sure how to fix it. Can anyone with more git experience help me out?
Since our site is hosted on https, we get an error if the thumbnail isn't also hosted on an https link.
It would be nice if people submit an http thumbnail that we test it for an https version and update the link accordingly.
It would also be nice to get a report in the admin of any thumbnails that are linked via http so we could possibly fix them.
DMs often are looking for an adventure that they can run in X number of sessions, esp. one shots. An filter for how long an adventure takes to run (in hours, sessions, or a category indication) would be very useful to me. Next time multiple players cancel, I hope to find a one shot very quickly. :-)
Singular table names are the default behavior of Doctrine (when creating entities through tooling) and is desirable for a number of reasons well documented here.
All other database tables conform to this singular naming convention except users.
This should be the last thing to do before we can merge into master and update the live site again.
If we could add the basic code and fill it in from a variable in the config that would be great!
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.