Dynamic Content / Form Builder is definitely a hard task.
For the database schema, your best bet is to follow what is known as an EAV pattern.. It has it's drawbacks (namely performance), but it is effective. EAV stands for Entity-Attribute-Value and you can read more about it here: <a class="postlink" href="https://en.wikipedia.org/wiki/Entity%E2%80%93attribute%E2%80%93value_model">https://en.wikipedia.org/wiki/Entity%E2 ... alue_model</a> and here is a good example of usage: <a class="postlink" href="http://programmers.stackexchange.com/questions/204097/dynamic-form-builder-forms-and-database-design">http://programmers.stackexchange.com/qu ... ase-design</a>
An alternative is to use a NoSQL database for this type of storage, like MongoDb.
On the client side, there are plenty of Angular approaches to showing a form dynamically. You can google search that fine. That's actually the easier part when it comes to all this.
i came up with a half-decent solution. if anyone wants sample code, let me know
...I've had no issues with ABP and Azure Web Apps at all, but maybe it's because of the way I deploy my database.
My recommendation is to load up sql management studio and export your local database by doing Export Data Tier Application. Then connect to your Azure Database Server also and Import Data Tier Application (the one you just exported). In Visual Studio, do a Web Deploy and choose your Azure Web App and also your DB. It should automatically detect your database. Deploy, and you're good to go.
No need to futz around with the code to get it to work at all.
Yeah, hangfire provides you with a live dashboard at <a class="postlink" href="http://">http://</a><your-site>/hangfire
<a class="postlink" href="http://hangfirechinese.readthedocs.org/en/latest/quick-start.html">http://hangfirechinese.readthedocs.org/ ... start.html</a>
I'm actually considering creating a Udemy course on ABP and creating SaaS applications. Not sure when I'll be able to get around to it though.
Sure thing. I created a file in my .Web project called BackgroundTaskFactory.cs. It's just a static class where each function would wrap the calling of a service layer function. In the case below, I have SearchAppService and I want to call its DestroyAndCreateArticlesIndex().
public static class BackgroundTaskExecuter
{
public static void DestroyAndCreateArticlesIndex()
{
using (var service = IocManager.Instance.ResolveAsDisposable<SearchAppService>())
{
service.Object.DestroyAndCreateArticlesIndex();
}
}
}
Then to use it, I call
BackgroundJob.Enqueue(() => BackgroundTaskExecuter.DestroyAndCreateArticlesIndex());
Would love to see your sample code.
I only got Hangfire working by creating a Static Class and manually invoking IocResolver. It's not pretty and not the way I wanted to accomplish it in my original post, but it works. I can share that solution here if anyone is interested as well.
On a side note, even with my above solution, Hangfire isn't working with Lazy Loading in EntityFramework. I had to write my own Repository and create a method that pulls data in an eager fashion.
I did not anticipate so much headache considering how 'easy' the hangfire.io website makes it look in getting started haha.
In my opinion it's a bad practice to pull cookies from service layer. I think grab them from the web layer and pass them as parameters to the service layer.
I think what you are trying to achieve is different than what abp.ui.setBusy() offers. I would google for "Angularjs Page Transitions" and see if anything comes up of use.
If I were you, I would just keep things simple and do Visual Studio Web Deploys to Azure Websites and use Azure Sql. Treat it like any normal web app.