Improved Search, User Logins, and the Dragonlash Database API (Nov 16, 2018)

Hey everyone! I know I'm pretty far behind on content. It may seem like I've been doing much, but I've been actually been doing a lot of work on the site that I'm excited to tell you about! I mentioned in my last post, I did a major overhaul of the site's backend. Well, that overhaul enabled me to make the improvements that I'm going to tell you about now.

Improved Search

Being a reference site, this is something I really want to get right. One of the changes I did in the overhaul was to switch my backend database to PostgreSQL. I did this because not only is it a very fast database, but they've recently added some really nice text search capabilities. I've also figured out a way to do this search in a categorized, or "faceted", manner. This mean that the database query also gives how the results break down along various categories. This means that I can have dropdown menus that you can use to select facets to refine your search. This is actually a common search paradigm that you'll be familiar with from e-commerce websites such as Amazon or Newegg. It looks like this:

Faceted Search Screenshot

Now, I still want to improve the presentation of that data, but in the meantime it should still get you to what you're looking for faster.

User Logins

You may have noticed a new icon of a person on the title bar. A few of you even created accounts and probably noticed that it doesn't do much. Ultimately I'd like to allow people to save characters and such there, but for now, here's the deal: I've had people in the past generously volunteer to help enter/update content on the site, but I had no way for them to log into the website's backend CMS to do it. Now I can. If you're interested in helping out, just make an account and shoot me an email requesting to be made an editor. There's no need to know anything about programming or databases, it's simply a matter of filling out information in forms like this:

Dragonlash Backend

Dragonlash Database API

I felt that I couldn't have the community to contribute content to this site's database without making the database openly available the community. So, I've made the database accessible programmatically via a JSON API. The Starfinder content can be found at https://api.starfinder.dragonlash.com/, and the APIs for other gaming systems will be found under their respective subdomains as they're added. With this, developers can easily retrieve information from the database in their applications. So contributing updates to this site also means contributing to all the websites, apps, and tools that use this API as a data source.

Edit 7/27/19: API location has been moved from https://starfinder.dragonlash.com/api/ to https://api.starfinder.dragonlash.com/. The post has been modified to reflect this change.

Rerolling the Dragonlash Backend (Jul 08, 2018)

All-in

Have you ever got stuck so far in the mud that you were better off just gunning it and trying to make it to the other side? Yea, that was pretty much where I was with this website over the last month. For several months I had been working on a major overhaul of the website's backend and managed to make some changes to the database that weren't backwards compatible with the live site, and that I wasn't able to back out. So even though the update wasn't fully ready, I had no choice but to just go all-in.

So, you may have noticed things were pretty rough on the site for the past few weeks. A lot of it was the fact that my update reorganized the site urls, but I didn't have a way to easily redirect the thousands of pages that this site has. I was able to write some regex rules to redirect the major pages to the new locations, but a lot of them just returned "404 Not Found" errors until Google delisted them. At this point, Google has finally updated their indexes, so you shouldn't be seeing any more of those bad links.

Better, Faster, Stronger...

Sometimes things need to get worse before they get better, and now with this overhaul things are better than before with a whole lot of improvements to tell you about.

Frontend stuff

  • Sidebar Nav: Subpages can now be expanded without first visiting the parent page. The current page is highlighted and expanded. On smartphones the nav slides in on the left side of the screen using the hamburger menu in the upper right.
  • Table of Contents Nav: The sidebar nav was working so good, I decided to use it for the table of contents too! Here the links all smooth-scroll to anchor tags on the page.
  • Darkmode theme: If you're browsing in a dark room, or if you just prefer light text on a dark background, look on the bar on the bottom of the page for the "toggle theme" option.

Backend stuff

  • Backend CMS: I've had people offer to help with aspects of the site's content, but for non-programmers, dealing directly with a database is a difficult thing. This content management system (CMS) allows anyone, even non-programmers, to log into the website and edit pages or add items, abilites, spells, etc. to the database directly through an easy-to-use website interface.
  • Exit SQLite + Elasticsearch, enter PostgreSQL: I've been using ElasticSearch, which is very powerful, but was sort of awkwardly bolted onto the project. Over the last year or two, PostgreSQL has added some incredibly powerful full text search capabilities. I'll be able to do this in a much simpler way with PostgreSQL, plus it has some "NoSQL" capabilities which I was thinking might be useful in some cases (like for starships, or when I add character sheets). The PostgreSQL search is still a work in progress, what's on the site now is a very basic search, so stay tuned for improvements here.
  • Speed and size improvements: I've been squeezing every last millisecond and every last kilobyte out of the website by stripping out bloated javascript libraries like bootstrap and jquery, and by optimizing page rendering code. Even on the slowest connections and devices, things should feel pretty darn snappy, and the site will sip bandwidth for those worried about bandwidth usage caps.

Roll for Dexterity: Starfinder Reference Progress Update (Oct 15, 2017)

Updates:

I'm pretty psyched for this update.

Security:

DragonLash is GO for https. That means the site 's secure and I can ramp up building user logins, which in turn means storing your site preferences – which in turn means:

  • filter view to only see the content sources your GM allows
  • choosing images preference (to load or not to load)
  • eventually: building and saving characters

Content:

  • Finished adding in rules content, still more to go.
  • Progress made on the game mastering section, still more to come.

Navigation:

  • Added top-nav bread crumb. Now if you find the site from a google search result, you can still see where you are. The side-nav is still kind of a beast for now.
  • Added more hyperlinks within/between pages. For example, when viewing a spell, if the spell is bless gives you +1 to saving throws, each of the saving throws will be linked to send you to each throw. (Note: You’ll see some in-book references that don’t apply in a mobile setting, those are getting taken out as I spot them.)
  • Added more structure to the Home page navigation
  • Images: In case you're wondering why the site is a bit minimalist, it's to keep loading speeds quick and pages streamlined so you can find what you're looking for easier.
  • Tables: I’m psyched about translating the tables from PDF format to a condensed, searchable, mobile-optimized view. That page is still giant, but the Search function is there to mitigate that.

Community:

  • Follow the new DragonLash Facebook page for updates!
  • Join the DragonLash Facebook Group to discuss Starfinder, Pathfinder, DragonLash, whathaveyou.
  • +1 Charisma: My cool af little sister has joined the DragonLash ranks. She knows *almost* nothing about Starfinder and Pathfinder, but grew up around Dungeons & Dragons and is psyched to learn these games. Plus she knows a metric shitton more about building a community than I do.

Questions/comments, click here to get in touch.

-Dan

Character Creation: Welcome To Dragonlash! (Aug 20, 2017)

About Me:

One of the things that I absolutely love about the Pathfinder and Starfinder roleplaying games is the enormous number of choices when it comes to customizing a character. I've spent many hours tweaking my characters and hunting for the perfect combination of feats, skills, weapons, and whatever else before diving into the next dungeon. I created this site to make finding that information easier.

Site Launch:

The site went live in August 2017 with two key ingredients in place:

  • Database Backend: With this in place, the website can quickly perform powerful searches across categories
  • Mobile-Friendly: Dragonlash is mobile-friendly, adapting to your iPhone, Android, or tablet screen to make the most efficient use of space –improving readability and navigation, no pinching or zooming required.

Coming Soon:

  • Pathfinder: The Pathfinder section will be up soon with the functionality you see on Starfinder. (It's just a lot more data, so it's going to take longer to get it all entered in.)
  • More: In short, I'm excited about the site thus far but it's still a work in progress.

Let me know what you think so far: To give feedback/suggestions and/or sign up for updates, click here.

More soon,

–Dan