Adding a Database
Adding a database to Phase 2 is the central development piece that makes future development possible, including all the new Leo work and more. Once we have a database we can add just about anything we want. A database is created from a design, so the initial step was to create a path moving forward with DCMS. DCMS is a well-designed concept, and then you create the tables within the database to implement the design. DCMS exists now as a prototype, is not fully complete, but good enough to build a proof of concept (POC) or a prototype to perform demonstrations. All POCs like this are not real, but they simply prove that DCMS actually works!
The DCMS architecture design, implemented in a SQL Server database, allows adding unlimited content without creating new web pages, and then connecting content to menu items so they show up on the website. Its ‘dynamic’ in that it is entirely data-driven. You could literally add new content on the fly, create a new menu item, and it would instantly show up on the website. We wouldn’t do that, rather I’m introducing the concept of Dynamic Content and Dynamic Menus. With Dynamic Content we will (eventually) have a Content Curation process, where a Curator or Author discover new content, adds it to a Staging Database, works on the content to get it right, and then publishes the content to the *Production Database. This protects the live site, and ensure that the content has been appropriately reviewed and vetter, perhaps approved by a higher authority, like Dr. Ortega or a Board Meeting. We may have a curator, but with our new Documentation Site, we could add a section for newly curated content.
In most cases, databases are not free, and sometimies very expensive in the business world. It depends on size and volume of traffic. There could be significant cost on a large heavily used database. We are, howevr, exactly the opposite of that, and we will likely have zero cost. There will be some, but it will not anticipated to exceed our $2000 yearly grant, able to pay for both the website and database. We will never exceed our grant unless we become a high volume site with lots of records. At that point, cost would not be a factor, and the $2000 grant would pay the first $2000 of any cost. Azure can set budgets and warnings to avoid unexpected charges.
Database are created using the Microsoft Developer platform, which consists of AI Models, a DB application called SSMS (SQL Server Management System), and various source code editors like VS 2022, VS 2026 and VS Code. VS stand for Visual Studio and has been around for 30 years or so. They used to be extremely expensive, and developers had to buy annual subscriptions (like $5000 a year), but that was just cost of business. That all went away when Microsoft moved to Community Editions, by making everything open source. They had to in order to compete with the industry. They make their money of licensing for the database, not the website. Anyone can build a website these days, and they realized if it wasn’t free, nobody would use it. Microsoft still has the best tools, the best database and the best programming language for Engineering which is C#. When I say best, of course that’s completely subjective. I have about 30 years of experience developing SQL Server databases, and C# Windows and Web applications, and I’d be considered an database specialist. I’ve managed several database servers as a DBA (Database Administrator) on servers with 60 databases, some with over 60M records, including large databases like USPTO Patents, Medline and Web Of Science (WOS). We will have a very 1 tiny database by comparison, 500 records to start. So size and performance is not an issue. What is an issue is the quality of the relational design, and in this case I know pretty much everthing about relational database as second nature. And now we have AI to check all your work, and AI knows even more.
The database is accessed directly by the website to retrieve and display data using a system called Entity Frameworks (EF), which makes access bullet-proof and secure. EF exists within the website source code to retrieve content and menu items from the database, uses that to create the menus and away you go. When you click on a Dynamic Menu, it reads the Dynamic Content and displays it as a page. Phase 1 does basically the same thing, except now it is data-drive and is considered Structured Data. You can do any manner of search on data stored in a database, even something called Full Text Indexing. All of this exists within the Microsoft Platform called .NET that came out around the year 2000. I started building apps in .NET on the very first release. .NET is a library of routines to build all sorts of applications, including websites. It uses a popular and standard web server called IIS (Internet Information Server), which has a standard root directory and serves up standard html pages. Very open, very secure and very fast. The type of server doesn’t really matter, but IIS is the Microsoft Sever used everywhere .NET is used. There are multiple platforms, or styles of webdevelopment, that has progressed over the years, from Winforms, ASP.NET, MVC, and now ASP.NET Core. With Winforms you could design a page graphyically, using WYSIWYG editors (what you see is what you get). You would buy component suites, and simply drag and drop a text box, drop down list, an imaage, and fancy control that uses JScript - and slide things around until you love the way it looks. That page would get rendered exactly as you would expect. Developers loved it, ‘real’ web developers thought they were cheating, so it fell out of favor, claiming you were not a real HTML developer. Then something called Design Patterns became popular. I attended a UML conference in New York, which was heavy into Design Patterns, and met the author the the DP Bible. Design patterns and UML (unified modeling language) encapculated all of industry knowledge and standards on how to build software. There are maybe 30-40 patterns, all very complex and based on OOP (object oriented programming). MVC stands for Model View Controller, which is a separation of responsibility. All of this, combined with the industry shift to standardized programming and open source, led to ASP.NET Core (with Razor or Blazer pages). Razoer pages are pure HTML programming with business logic built into the HTML page that executes on the server side. Blazer pages are similar, but much of it is Java that executes within the Browser. Which is better? Neither. It depends on the application. Blazer is highly interactive and focuses on realy fancy and extensive interfaces. Razer focuses on content retrieval and building the page on the server side where the data originates. Clearly Razor fits our needs better, and in many ways, is less complicated and prone to issues.
We will be developing the website using VS 2026, VS 2022, APS.NET Core (Razor Pages), SQL Server database, later ported to Azure SQL (same thing), with the website hosted in IIS on the Azure platform (very much like AWS). All development tools are free, and the web hosting is free.
Use of AI for Development
One key factor that did NOT play into the AI analysis, and that is the use of AI. All modern development tools now use AI as a companion to the developer. The developer needs to know both technologies, and I do. AI is a huge time saver. When I get an idea, and I talk through the strategy with AI, have back and forth dicussions to settle on the final design, even create scripts for me to execute and create parts of the database. The developer always controls and monitor, but the AI does a lot of the time consuming stuff.
That same AI works in the website environment as well. That never came out in the analysis, but it is a key factor. There is not AI assist in Phase 1, and Phase 2 is entirely AI assisted. That is a huge time saver, and increases accuracy, security, checks files, arcchitecture and everything about the database and website projects, to work in unison and avoid failures. If there’s a bug you can often get AI to find it for you and fix it. Its truely valuable and amazing. It won’t quite replace a Software Engineer, but that time is coming.
How to add a Database
It development, its easy to create a database, takes about 3 secord. Then you run scripts to create the design, and populate with data. That takes a lot of time to get right, even with experience. You need a good relational database design before you can create a website. We now have a database design, and a proof of concept database, and a proof of concept website - all working.
Databases exist on DB Servers. I’ve set up a DB Server on my local machine. All software, documentation etc exists within my own person space, on my own machine, using paid licensing that I pay for, and so far, all work has been performed on my own time.
That will change when we move to Aure. That not enters the All Things PG space, and will start using the $2000 grant. The first step is to create a test database just to learn and use, get familiar with the technology. That will be ATPG training. None of the DCMS database will be added to Azure at this time.
Once the database is securely in place in Azure I can build a website that sits on top of the database and start to play with various options to get familiar with Azure and the costs involved. Buildig a db on Azure is really just deployment. You can still build the bulk of your work on your own machine and just deploy to Azure when ready. They have built in processes to stage development, qa and eventully publish to production. Like anything, its a process, and Azure does it well.
Azure is the equivilent to AWS, just has a much better inteface and usability. I’v e used AWS before, quit familiar the way it was a few years ago, it may have improved, but that matters not. Our grant is for Azure, and is the only low cost solution with a database that we need to grow the website.