Rad Studio Live Templates - delphi

Does any body know if the Rad Studio Live Template engine can be used in an application?
I have a Ray trace application that would benefit from Live Templates as far as adding objects and materials to the text file for image generation.
Adding custom Live Templates would definitely be an advantage.
I thought the ToolsAPI would be a place to start but I have limited knowledge of it.

Related

System.Web.Helpers dll

In Visual Studio 2019 for Razor pages for nuGet I see the following
System-Web-Helpers.dll
AD.System.Web.Helpers.dll
the descriptions are pretty clear but what makes me pause is the number of downloads 198k and 88k.
That seems really low for basically something I would think 100% of the Razor community would need so I am not confident that I not using the dll that most people are using.
I assume this is also being used for MVC so I would assume downloads would be in the millions.
System.Web.Helpers was released as part of ASP.NET Web Pages in 2010. It contains helpers for common tasks such as working with charts, images, caching as well has being the home of the WebGrid. While it is available from Nuget, the standard way that it was made available to Web Pages and MVC applications (MVC 3-5) was as part of the project template - hence the relatively low download numbers.
It depends on System.Web, which is part of the old .NET Framework, and is therefore not suitable for use in Razor Pages or any other type of .NET Core application.

Debugging a nuget of an entire web installed into an empty web app

We are in the middle of development for a core ASP.NET MVC web project and a customer plugin in the form of an MvcContrib plugin web project -- a web project injected into the core web as an area. The plugin is a soft reference in the core project, so it can be developed completely separately and dropped in.
I am trying to generate a way to debug/code the plugin, so that the multiple custom plugins can be developed independent of the core web.
The developers should only have to worry about coding and testing the plugin code. Also, I don't want them to change the core code in this custom plugin project -- that should be done in the core anyway.
I created the core web as a NuGet package and included all the necessary files so I could include it in a web.
My thinking was that I could create an empty web, install my core web, and the developers could have an F5-driven debugging environment.
I tested by creating a blank Mvc project, installed my core package and included one of my plugins. I changed the namespace of this empty web app to the namespace of the core web, thinking that Visual Studio debugging would properly attach and my core assembly.
Simple VS debugging in the empty app does not work -- I receive an HTTP Exception, most likely due to my routes not being registered. I also see that my log4net is not creating its logs folder, so I know the assembly's app start is not being called.
So I see that VS is not attaching to and calling my core assembly.
Can I use this empty web as a host project for my nuget installed web and debug? If so, what configuration am I missing?
If not, how can I include the core web in each customer plugin project in such a way that I can drop my DLL into the bin and debug it?
Using:
Visual Studio 2010
ASP.NET MVC2
The way we are doing things that works pretty well is to use a combination of Web Activator and Razor Generator (available as a Visual Studio extension). In order to access the views within the core web application, the consuming client application needs to know about them, either because they are all included as file references inside the Nuget package (messy) or because they are compiled into the core web dll. You can do that using Razor Generator. Once installed via Nuget you would need to change the Custom Tool property for each .cshtml file to RazorGenerator, which will create a .generated.cs file for each view. This will allow your sample client to use the layout and views from the core web application.
David Ebbo has some useful blog posts on Razor Generator
Couple that with Web Activator to create a PostActivationStartMethod that runs your initialisation code (such as initialising Log4Net) and you should be good to go. We've had this running in 2 scenarios - consuming the framework package via Nuget and adding a project reference directly. Debugging was not working for the Nuget package consuming route but we don't include the pdb files in the Nuget package. We can debug when adding a project reference directly though.

What is the "current" Delphi web app framework?

I'm looking at Delphi web server apps, and the first thing I notice when I go into the New Items dialog is that there are several different frameworks.
WebBroker looks the nicest from a conceptual standpoint, but in the documentation it looks like its DB and session-management code is tied to the BDE, which makes it somewhat less than useful today.
WebSnap looks very similar, but the documentation says it's deprecated and IW ("VCL for the Web") should be used instead.
So I look at IW, and I can't make heads or tails of how it's supposed to work. The sample code is full of stuff that looks like it belongs in a desktop app, like clicking a button to fire an event handler to change the caption of a form element. (Wouldn't that have to be done client-side in JavaScript if we're creating a webpage?)
So what's the current standard framework for building a web server in Delphi?
While there are several commercial options available for writing web apps with Delphi, in my opinion Delphi no longer ships with a modern web development solution included as part of the package.
If I had to give an answer to your question though I would say that the current out of the box Delphi web framework is WebBroker. WebBroker is the only web framework included with Delphi that isn't deprecated or restricted in its functionality.
WebBroker was introduced perhaps as far back as Delphi 4. It's a good honest work horse but it hasn't really been improved much since it was first introduced. It leaves you to do most of the heavy lifting but it also doesn't get in your way. WebSnap and IntraWeb were built using WebBroker as their foundation which gives you idea of the level of services it provides.
A full version of IntraWeb has been bundled with Delphi Enterprise for many years but as of Delphi XE it now has several limitations (no SSL, no ISAPI deployment, 20 minute idle timeout) that will very likely mean you'll need to buy a license from AtoZed to use it seriously.
The version of IntraWeb bundled with Delphi Pro has always been far too limited to be considered anything other than an evaluation version.
Old question but still deserves an up-to-date answer.
Current 'settled in' solutions are:
IntraWeb:
https://www.atozed.com/intraweb/
uniGUI:
http://unigui.com/
Introduction
uniGUI Web Application Framework extends Web application development experience to a new dimension. uniGUI enables Delphi developers to create, design and debug web applications in IDE using a unique set of visual components. Each component is designed to provide same functionality of its counterpart visual component in Delphi VCL. This provides a very comfortable development environment very close to native VCL application development with an easy learning curve. uniGUI Web applications can be deployed to a server using one of the available deployment options such as Windows Service, Standalone Server or ISAPI Module.
Product Highlights:
Based on industry's most advanced JavaScript library Sencha Ext JS.
Includes OEM license for Sencha Ext JS. (Please see licensing for details).
A unique platform to create stateful web applications.
Complete IDE support for creating projects, designing forms, frames and handling data modules.
Advanced support for scripting client side JavaScript events.
Library core is fully optimized to achieve highest level of scalability.
Including advanced Stress Test Tool utility.
Comes with various deployment options: ISAPI Module, Standalone Server and Windows Service.
Supported Delphi versions: Turbo Delphi Pro, Delphi 2006, Delphi 2007, Delphi 2009, Delphi 2010, Delphi XE, XE2, XE3, XE4, X5, XE6, XE7, XE8, Delphi 10 Seattle, 10.1 Berlin, 10.2.3 Tokyo and 10.3.3 Rio (Win32 & Win64 platforms). (Linux support is in the roadmap)
C++ Builder supported.
Supported Browsers: IE 9+, Microsoft Edge, FireFox, Chrome, Safari and Opera
New state-of-the-art uniGUI HyperServer technology.
TMS WebCore:
https://www.tmssoftware.com/site/tmswebcore.asp
RADical Web
Modern SPA web application model
Pure HTML5/CSS3/Javascript based applications
Standard component framework for common UI controls and access to browser features
Debugging in Pascal code via the browser
Backed by a solid & proven Delphi Pascal to Javascript compiler that was years in development
Reuse skills and components Component based RAD development integrated
in the Delphi IDE A truly revolutionary & innovative TMS FNC component
framework that is now also web enabled, allowing to create UI controls
that can be used on VCL, FMX, LCL and WEB! Open to consume other
existing Javascript frameworks & libraries Open to use HTML/CSS for
design Open to use other jQuery controls or even other Javascript
frameworks Offers Pascal class wrappers for jQuery controls from the
jQWidgets library Easy interfacing to REST cloud services including to
TMS XData for database
Easy Deployment Application consists of HTML & Javascript files only
that can be easily deployed on any light or heavyweight webservers Use
any existing load-balancing software and/or techniques for highest
performance Small and convenient debug webserver is included for fast
RAD development
http://docwiki.embarcadero.com/RADStudio/en/DataSnap_Overview_and_Architecture
DataSnap has been there for a long time, and the latest releases is DCOM-free. You can utilize it to build up server side piece (S in both C/S and B/S). Its current role is almost like WCF in .NET world.
Then if you are building a web site front end, you can use IW. But DataSnap makes it even possible to build up front end using PHP or other web technologies.
https://github.com/relativ/pascalweb
PascalWeb use pascalscript compiler , you can create web app, like php or python

Can you use Visual Studios instead of Web Matrix for orchard 1.0?

I installed orchard through the MS web platform installer. It listed web matrix as a dependency and once finished installing it loaded up web matrix.
I am wondering if I can just use VS 2010 instead or does orchard have some setting set for web matrix or something that would require me to do some configuration in VS 2010(ie some iis stuff)?
Thanks
P.S
I tried going to the path where the orchard files are located(that was listed in web matrix) and load up the cs project file into Vs but it seems to be missing folders such as the "Themes" folder.
Yes you can use VS2010 only if you like, and that's the way I prefer it myself, but you should use the full source for Orchard. Go to the Download page download the full source code.
After that you got many good tutorials on the Documentation page.
Good luck!
This page from the Orchard Documentation shows that you can create a module using just a text editor. I would think that using Visual Studio would also be doable, though I can't find an explicit example using VS 2010.
Edit
The documentation has full instructions to enlist in the source code and use Visual Studio 2010 to build Orchard.

ASP.NET MVC Razor designer

I am introducing ASP.NET MVC to a new team and one of the questions that comes up often is "Is there a designer view"
Even if it's not for layout is there an IN visual studio design view for ASP.NET MVC3 using the razor view engine.
No, there is no designer. It would likely be difficult for a designer to even know what is meant by Razor code in many cases.
It's really not so difficult to just use your web browser as a viewer. You can make changes to the HTML without having to recompile, just make the change, save, and refresh your browser.
EDIT (8/2/2013)
Since this answer was originally written, Microsoft has released Visual Studio 2012 which includes a feature called Page Inspector, which while not a true "designer" in the way that the question was written, it does give a much nicer semi-live preview mode. This has been improved in Visual Studio 2013 (which was RTM'd today, 10/17/13).
I use a web browser window and set the url my localhost in place of the designer.
view > "other windows" > "web browser". I then split the windows vertically or horizontaly.
I was able to work using the following trick:
change the razor file's extension to .html
Open the document
with the document open, change file extension back to .cshtml
Congratulations, you now have a designer's view of the razor file. If you need razor intellisense, close and re-open it.
No, in general you should try and steer clear from visual designers. The combination of HTML/CSS/Javascript is something that just cannot be done well with visual designers and the short term pain of learning these manually will be well worth it. Once you know these well you will be coding in a cleaner and quicker way. I often use Expression Web to do initial layouts before copying it to Visual Studio.
I know I am late to the party, but..
You can trick the IDE as mentioned above, but if you are building applications in MVC, you should be comfortable in code view. It is more productive and most of the responsive design and css implementation can give you false results in design view. Designer is useful in WebForms. But with the Browser Link feature in Visual Studio 2013, there is no longer any reason to trick your IDE, you can have one-to-many browsers open and get live updates back and forth from browser to visual studio. Can't beat that! The browser is where it's at!
Browser Link!
Install the following and you will be golden!
Microsoft Visual Studio 2013 Update 3
Web Essentials (Dependent on VS Update 3)
I think they are working on that as a feature for Expression Blend 5 Developer Preview .
They clearly recognise the issue of designing JS in the designer so I suspect they realise the same applies to some designers working on MVC applications.
I was told by someone from Microsoft "I think in Blend for HTML, using interactive mode, you would probably be just fine with designing MVC or MVVM patterns"
Also check out Visual Studio Page Inspector it looks like it will do what is needed
In Visual Studio 2013 added browser link this allows two way communication between browser and Visual Studio. It means you can refresh browser when you change code and instantly see how it looks. Also you can change Css in the browser and have it saved in Visual Studio
There is workaround it is mentioned here http://www.codeproject.com/KB/aspnet/EnablingDesignerSupport.aspx

Resources