Web Connection
Web Connection 6.0 Beta 1 available
Gravatar is a globally recognized avatar based on your email address. Web Connection 6.0 Beta 1 available
  Rick Strahl
  All
  Oct 12, 2015 @ 08:26am
Hi all,

I've released Web Connection 6 Beta 1 today with both shareware and registered versions available officially. If you're a registered user of Version 5.50 or later you should have gotten a notice for download of the beta - we're temporarily offerering free access to the beta. The final version however will be a paid upgrade.

You can get the shareware version to try out here:
http://west-wind.com/webconnection

There's also a video that shows how to get started and along the way highlights a number of the Version 6.0 new features.

The video is available at:
https://www.youtube.com/watch?v=Kga8Fuhzlwg

To see all that is new in more detail:
http://www.west-wind.com/webconnection/docs/index.htm?page=_S8104DGGL.htm

For a more detailed discussion of some of the features... read on.

What's new?


Lots! This is a major version update and there's lots of new stuff that I hope will make life easier for a lot of you. Most of the changes are incremental and operational changes meant to make it easier to work with Web Connection.

New Project Layout
The new version finally gets an isolated project layout, so when you create a new project the entire project is created in its own folder hierarchy. This means you get a top level folder that contains subfolders for Deploy (code) and Web and Data (optional use). Because the folder structure is fixed and known, the various configuration files can also make some assumptions about paths - by default Web Connection installs all configuration settings with relative paths, so that when you move or deploy an application no path changes are required. Paths here are the temp file path for file messaging, Web directories, upload folders for code updates etc.

The end result of this is that you have a much more portable site. You can easily move your Web Connection project folder to a new location and all that has to be changed is the IIS Virtual Path/Root Site configuration. Everything else stays set.

Automated Configuration
As a related feature Web Connection now generates two files as part of a new project:

* bld_<yourApp>.prg
* <yourApp>_ServerConfig.prg

The bld file build an exe and sets DCOM permissions. It also contains logic to post your EXE to the server if you are running in COM mode on the server. The file contains a few configuration settings where you can set the server path and username, and it can then hot swap the server by uploading and swapping the file on the server.

The ServerConfig is a generated server configuration script that can be used to configure your application in IIS and the local directory security. It basically allows you create a virtual directory in IIS, create one or more script maps and set permissions for local folders.

You can either run the file directly or, if you are using a new project you can run:

<MyApp>.exe config

which launches the configuration script that has been compiled into your server.

This makes it super easy to configure an application in place without many extra steps.

Layout Pages, Sections and Partials
If you're using MVC style development with Web Connection's Script or Template pages, these features provide you a lot more flexibility in creating reusable content. Script and Tempaltes allow you to write HTML markup with embeddded FoxPro code or expressions. The new features allow for layout pages which are 'master' pages into which content can be loaded. A content page can reference a Layout page and renders inside of a designated section of the layout file. The end result is that a Layout page can handle the site 'chrome' that is used on many pages in the site, while the content page only holds the actual page specific content. In addition you can also use Partial pages to create reusable content which is great for little components. Things like variable sidebars, login views, footers etc. can be created as partials. Partials are great for creating reusable content, but also are useful for breaking out complex content pages into smaller more manageable chunks of HTML that are easier to edit and navigate.

Extensionless Urls
A lot of people have asked for better support for extensionless URLs and there's now a more formal approach you can use in combination with the IIS URL Rewrite module. Extensionless URLs are routed to a wwProcess endpoint and an event you can handle. The default handler forwards these requests to methods which is ideal for JSON API endpoints. There's also a PathSegments class that is returned that lets you examine the various path parameters passed.

A new Markdown Parser
Markdown has become very popular in recent years - it's an easy to use edit format that uses common heuristics for marking up text with HTML intent. For example, **bold** or *italic* or ### Header 3 or * bullet. It's a wonderful format for rich text entry and widely used on developer sites and CMSs. A new Markdown() function makes it easy to convert Markdown to HTML.

Many improvements to wwHtmlHelpers
HtmlHelpers is a prg of HTML helpers that generate common HTML content. If you haven't looked at them you should take a look - they work great in combination with Script and Template pages. There are a couple of new ones: HtmlErrorDisplay() that displays an alert style box and HtmlBindingError() that you can use to dislpay binding error associated with a control. There have been a lot of improvements related to these helpers.

New Request Methods
There have been a bunch of updates the wwRequest object to replace some of the Array based based functions with collection based interfaces instead. A few of the new functions are:

* UnbindFormVars
Replace FormVarsToObject() with some additional functionality. UnbindFormVars() returns a collection of ValidationError objects that you can then in turn bind to the HtmlBindingErrors() controls or display in a validation dialog.

* GetFormMultipleCollection() and GetFormVarCollection()
These two methods replace the GetFormMultiple() and aFormVars() respectively with collection based results instead.

* FormOrValue
This function is a helper that returns either a POSTed form variable for the key provided or - on a GET request - binds the value passed. This is ideal for HTML form value display so that you see the value the user posted rather than the model value. In an error situation (ie. you enter an invalid number) you want to see the invalid value not the failed binding value on the model.

Typical usage:

value="<%= Request.FormOrValue('name',poCustomer.Name)"

* FormSelected and FormChecked
This values can be used on CheckBoxes and option controls to determine the value either from a form value or a model value. Like FormOrValue() depending on the state the value is or the Form value is used. Checks and selected values are tricky because they are only sent when set so there's quite a bit of logic wrapped up in this.

<input type="checkbox" name="IsActive" id="IsActive"
value="<%= Request.FormChecked("IsActive",poParms.IsActive) %>


Summary


There is a lot more and I encourage you to take a look at the What's New Page that has these updates and many more listed along with links to the documentation.


Gravatar is a globally recognized avatar based on your email address. Re: Web Connection 6.0 Beta 1 available
  Jim Monte
  Rick Strahl
  Oct 28, 2015 @ 06:38am
in the documentation it says "New Project Wizard can now generate a REST Service" and that the wizard will prompt for regular process or REST process.. however, i never see this option when creating new project or adding additional process... New project just creates a regular process class.. when running the add a process class to existing project.. it just errors out..


Hi all,

I've released Web Connection 6 Beta 1 today with both shareware and registered versions available officially. If you're a registered user of Version 5.50 or later you should have gotten a notice for download of the beta - we're temporarily offerering free access to the beta. The final version however will be a paid upgrade.

You can get the shareware version to try out here:
http://west-wind.com/webconnection

There's also a video that shows how to get started and along the way highlights a number of the Version 6.0 new features.

The video is available at:
https://www.youtube.com/watch?v=Kga8Fuhzlwg

To see all that is new in more detail:
http://www.west-wind.com/webconnection/docs/index.htm?page=_S8104DGGL.htm

For a more detailed discussion of some of the features... read on.

What's new?


Lots! This is a major version update and there's lots of new stuff that I hope will make life easier for a lot of you. Most of the changes are incremental and operational changes meant to make it easier to work with Web Connection.

New Project Layout
The new version finally gets an isolated project layout, so when you create a new project the entire project is created in its own folder hierarchy. This means you get a top level folder that contains subfolders for Deploy (code) and Web and Data (optional use). Because the folder structure is fixed and known, the various configuration files can also make some assumptions about paths - by default Web Connection installs all configuration settings with relative paths, so that when you move or deploy an application no path changes are required. Paths here are the temp file path for file messaging, Web directories, upload folders for code updates etc.

The end result of this is that you have a much more portable site. You can easily move your Web Connection project folder to a new location and all that has to be changed is the IIS Virtual Path/Root Site configuration. Everything else stays set.

Automated Configuration
As a related feature Web Connection now generates two files as part of a new project:

* bld_<yourApp>.prg
* <yourApp>_ServerConfig.prg

The bld file build an exe and sets DCOM permissions. It also contains logic to post your EXE to the server if you are running in COM mode on the server. The file contains a few configuration settings where you can set the server path and username, and it can then hot swap the server by uploading and swapping the file on the server.

The ServerConfig is a generated server configuration script that can be used to configure your application in IIS and the local directory security. It basically allows you create a virtual directory in IIS, create one or more script maps and set permissions for local folders.

You can either run the file directly or, if you are using a new project you can run:

<MyApp>.exe config

which launches the configuration script that has been compiled into your server.

This makes it super easy to configure an application in place without many extra steps.

Layout Pages, Sections and Partials
If you're using MVC style development with Web Connection's Script or Template pages, these features provide you a lot more flexibility in creating reusable content. Script and Tempaltes allow you to write HTML markup with embeddded FoxPro code or expressions. The new features allow for layout pages which are 'master' pages into which content can be loaded. A content page can reference a Layout page and renders inside of a designated section of the layout file. The end result is that a Layout page can handle the site 'chrome' that is used on many pages in the site, while the content page only holds the actual page specific content. In addition you can also use Partial pages to create reusable content which is great for little components. Things like variable sidebars, login views, footers etc. can be created as partials. Partials are great for creating reusable content, but also are useful for breaking out complex content pages into smaller more manageable chunks of HTML that are easier to edit and navigate.

Extensionless Urls
A lot of people have asked for better support for extensionless URLs and there's now a more formal approach you can use in combination with the IIS URL Rewrite module. Extensionless URLs are routed to a wwProcess endpoint and an event you can handle. The default handler forwards these requests to methods which is ideal for JSON API endpoints. There's also a PathSegments class that is returned that lets you examine the various path parameters passed.

A new Markdown Parser
Markdown has become very popular in recent years - it's an easy to use edit format that uses common heuristics for marking up text with HTML intent. For example, **bold** or *italic* or ### Header 3 or * bullet. It's a wonderful format for rich text entry and widely used on developer sites and CMSs. A new Markdown() function makes it easy to convert Markdown to HTML.

Many improvements to wwHtmlHelpers
HtmlHelpers is a prg of HTML helpers that generate common HTML content. If you haven't looked at them you should take a look - they work great in combination with Script and Template pages. There are a couple of new ones: HtmlErrorDisplay() that displays an alert style box and HtmlBindingError() that you can use to dislpay binding error associated with a control. There have been a lot of improvements related to these helpers.

New Request Methods
There have been a bunch of updates the wwRequest object to replace some of the Array based based functions with collection based interfaces instead. A few of the new functions are:

* UnbindFormVars
Replace FormVarsToObject() with some additional functionality. UnbindFormVars() returns a collection of ValidationError objects that you can then in turn bind to the HtmlBindingErrors() controls or display in a validation dialog.

* GetFormMultipleCollection() and GetFormVarCollection()
These two methods replace the GetFormMultiple() and aFormVars() respectively with collection based results instead.

* FormOrValue
This function is a helper that returns either a POSTed form variable for the key provided or - on a GET request - binds the value passed. This is ideal for HTML form value display so that you see the value the user posted rather than the model value. In an error situation (ie. you enter an invalid number) you want to see the invalid value not the failed binding value on the model.

Typical usage:

value="<%= Request.FormOrValue('name',poCustomer.Name)"

* FormSelected and FormChecked
This values can be used on CheckBoxes and option controls to determine the value either from a form value or a model value. Like FormOrValue() depending on the state the value is or the Form value is used. Checks and selected values are tricky because they are only sent when set so there's quite a bit of logic wrapped up in this.

<input type="checkbox" name="IsActive" id="IsActive"
value="<%= Request.FormChecked("IsActive",poParms.IsActive) %>


Summary


There is a lot more and I encourage you to take a look at the What's New Page that has these updates and many more listed along with links to the documentation.


Hello Rick... I no longer use my other email address jim.monte@shields-e.us.. I only use jmonte407@gmail.com When wconnect version 6 comes out can you send a link to jmonte407@gmail.com I want to pay for this version.. Thanks JimM "now Jim Monte"

Gravatar is a globally recognized avatar based on your email address. Re: Web Connection 6.0 Beta 1 available
  Rick Strahl
  Jim Monte
  Oct 28, 2015 @ 08:36am

Yes that's in Beta 2 which I'm hoping to ship out later today... The docs were updated yesterday in anticipation of getting hte beta out but it didn't happen in time...

+++ Rick ---



in the documentation it says "New Project Wizard can now generate a REST Service" and that the wizard will prompt for regular process or REST process.. however, i never see this option when creating new project or adding additional process... New project just creates a regular process class.. when running the add a process class to existing project.. it just errors out..


Hi all,

I've released Web Connection 6 Beta 1 today with both shareware and registered versions available officially. If you're a registered user of Version 5.50 or later you should have gotten a notice for download of the beta - we're temporarily offerering free access to the beta. The final version however will be a paid upgrade.

You can get the shareware version to try out here:
http://west-wind.com/webconnection

There's also a video that shows how to get started and along the way highlights a number of the Version 6.0 new features.

The video is available at:
https://www.youtube.com/watch?v=Kga8Fuhzlwg

To see all that is new in more detail:
http://www.west-wind.com/webconnection/docs/index.htm?page=_S8104DGGL.htm

For a more detailed discussion of some of the features... read on.

What's new?


Lots! This is a major version update and there's lots of new stuff that I hope will make life easier for a lot of you. Most of the changes are incremental and operational changes meant to make it easier to work with Web Connection.

New Project Layout
The new version finally gets an isolated project layout, so when you create a new project the entire project is created in its own folder hierarchy. This means you get a top level folder that contains subfolders for Deploy (code) and Web and Data (optional use). Because the folder structure is fixed and known, the various configuration files can also make some assumptions about paths - by default Web Connection installs all configuration settings with relative paths, so that when you move or deploy an application no path changes are required. Paths here are the temp file path for file messaging, Web directories, upload folders for code updates etc.

The end result of this is that you have a much more portable site. You can easily move your Web Connection project folder to a new location and all that has to be changed is the IIS Virtual Path/Root Site configuration. Everything else stays set.

Automated Configuration
As a related feature Web Connection now generates two files as part of a new project:

* bld_<yourApp>.prg
* <yourApp>_ServerConfig.prg

The bld file build an exe and sets DCOM permissions. It also contains logic to post your EXE to the server if you are running in COM mode on the server. The file contains a few configuration settings where you can set the server path and username, and it can then hot swap the server by uploading and swapping the file on the server.

The ServerConfig is a generated server configuration script that can be used to configure your application in IIS and the local directory security. It basically allows you create a virtual directory in IIS, create one or more script maps and set permissions for local folders.

You can either run the file directly or, if you are using a new project you can run:

<MyApp>.exe config

which launches the configuration script that has been compiled into your server.

This makes it super easy to configure an application in place without many extra steps.

Layout Pages, Sections and Partials
If you're using MVC style development with Web Connection's Script or Template pages, these features provide you a lot more flexibility in creating reusable content. Script and Tempaltes allow you to write HTML markup with embeddded FoxPro code or expressions. The new features allow for layout pages which are 'master' pages into which content can be loaded. A content page can reference a Layout page and renders inside of a designated section of the layout file. The end result is that a Layout page can handle the site 'chrome' that is used on many pages in the site, while the content page only holds the actual page specific content. In addition you can also use Partial pages to create reusable content which is great for little components. Things like variable sidebars, login views, footers etc. can be created as partials. Partials are great for creating reusable content, but also are useful for breaking out complex content pages into smaller more manageable chunks of HTML that are easier to edit and navigate.

Extensionless Urls
A lot of people have asked for better support for extensionless URLs and there's now a more formal approach you can use in combination with the IIS URL Rewrite module. Extensionless URLs are routed to a wwProcess endpoint and an event you can handle. The default handler forwards these requests to methods which is ideal for JSON API endpoints. There's also a PathSegments class that is returned that lets you examine the various path parameters passed.

A new Markdown Parser
Markdown has become very popular in recent years - it's an easy to use edit format that uses common heuristics for marking up text with HTML intent. For example, **bold** or *italic* or ### Header 3 or * bullet. It's a wonderful format for rich text entry and widely used on developer sites and CMSs. A new Markdown() function makes it easy to convert Markdown to HTML.

Many improvements to wwHtmlHelpers
HtmlHelpers is a prg of HTML helpers that generate common HTML content. If you haven't looked at them you should take a look - they work great in combination with Script and Template pages. There are a couple of new ones: HtmlErrorDisplay() that displays an alert style box and HtmlBindingError() that you can use to dislpay binding error associated with a control. There have been a lot of improvements related to these helpers.

New Request Methods
There have been a bunch of updates the wwRequest object to replace some of the Array based based functions with collection based interfaces instead. A few of the new functions are:

* UnbindFormVars
Replace FormVarsToObject() with some additional functionality. UnbindFormVars() returns a collection of ValidationError objects that you can then in turn bind to the HtmlBindingErrors() controls or display in a validation dialog.

* GetFormMultipleCollection() and GetFormVarCollection()
These two methods replace the GetFormMultiple() and aFormVars() respectively with collection based results instead.

* FormOrValue
This function is a helper that returns either a POSTed form variable for the key provided or - on a GET request - binds the value passed. This is ideal for HTML form value display so that you see the value the user posted rather than the model value. In an error situation (ie. you enter an invalid number) you want to see the invalid value not the failed binding value on the model.

Typical usage:

value="<%= Request.FormOrValue('name',poCustomer.Name)"

* FormSelected and FormChecked
This values can be used on CheckBoxes and option controls to determine the value either from a form value or a model value. Like FormOrValue() depending on the state the value is or the Form value is used. Checks and selected values are tricky because they are only sent when set so there's quite a bit of logic wrapped up in this.

<input type="checkbox" name="IsActive" id="IsActive"
value="<%= Request.FormChecked("IsActive",poParms.IsActive) %>


Summary


There is a lot more and I encourage you to take a look at the What's New Page that has these updates and many more listed along with links to the documentation.




Rick Strahl
West Wind Technologies

Making waves on the Web
from Maui

Gravatar is a globally recognized avatar based on your email address. Re: Web Connection 6.0 Beta 1 available
  Jim Monte
  Rick Strahl
  Oct 28, 2015 @ 09:36am
cool... looking forward to it.....

Yes that's in Beta 2 which I'm hoping to ship out later today... The docs were updated yesterday in anticipation of getting hte beta out but it didn't happen in time...

+++ Rick ---



in the documentation it says "New Project Wizard can now generate a REST Service" and that the wizard will prompt for regular process or REST process.. however, i never see this option when creating new project or adding additional process... New project just creates a regular process class.. when running the add a process class to existing project.. it just errors out..


Hi all,

I've released Web Connection 6 Beta 1 today with both shareware and registered versions available officially. If you're a registered user of Version 5.50 or later you should have gotten a notice for download of the beta - we're temporarily offerering free access to the beta. The final version however will be a paid upgrade.

You can get the shareware version to try out here:
http://west-wind.com/webconnection

There's also a video that shows how to get started and along the way highlights a number of the Version 6.0 new features.

The video is available at:
https://www.youtube.com/watch?v=Kga8Fuhzlwg

To see all that is new in more detail:
http://www.west-wind.com/webconnection/docs/index.htm?page=_S8104DGGL.htm

For a more detailed discussion of some of the features... read on.

What's new?


Lots! This is a major version update and there's lots of new stuff that I hope will make life easier for a lot of you. Most of the changes are incremental and operational changes meant to make it easier to work with Web Connection.

New Project Layout
The new version finally gets an isolated project layout, so when you create a new project the entire project is created in its own folder hierarchy. This means you get a top level folder that contains subfolders for Deploy (code) and Web and Data (optional use). Because the folder structure is fixed and known, the various configuration files can also make some assumptions about paths - by default Web Connection installs all configuration settings with relative paths, so that when you move or deploy an application no path changes are required. Paths here are the temp file path for file messaging, Web directories, upload folders for code updates etc.

The end result of this is that you have a much more portable site. You can easily move your Web Connection project folder to a new location and all that has to be changed is the IIS Virtual Path/Root Site configuration. Everything else stays set.

Automated Configuration
As a related feature Web Connection now generates two files as part of a new project:

* bld_<yourApp>.prg
* <yourApp>_ServerConfig.prg

The bld file build an exe and sets DCOM permissions. It also contains logic to post your EXE to the server if you are running in COM mode on the server. The file contains a few configuration settings where you can set the server path and username, and it can then hot swap the server by uploading and swapping the file on the server.

The ServerConfig is a generated server configuration script that can be used to configure your application in IIS and the local directory security. It basically allows you create a virtual directory in IIS, create one or more script maps and set permissions for local folders.

You can either run the file directly or, if you are using a new project you can run:

<MyApp>.exe config

which launches the configuration script that has been compiled into your server.

This makes it super easy to configure an application in place without many extra steps.

Layout Pages, Sections and Partials
If you're using MVC style development with Web Connection's Script or Template pages, these features provide you a lot more flexibility in creating reusable content. Script and Tempaltes allow you to write HTML markup with embeddded FoxPro code or expressions. The new features allow for layout pages which are 'master' pages into which content can be loaded. A content page can reference a Layout page and renders inside of a designated section of the layout file. The end result is that a Layout page can handle the site 'chrome' that is used on many pages in the site, while the content page only holds the actual page specific content. In addition you can also use Partial pages to create reusable content which is great for little components. Things like variable sidebars, login views, footers etc. can be created as partials. Partials are great for creating reusable content, but also are useful for breaking out complex content pages into smaller more manageable chunks of HTML that are easier to edit and navigate.

Extensionless Urls
A lot of people have asked for better support for extensionless URLs and there's now a more formal approach you can use in combination with the IIS URL Rewrite module. Extensionless URLs are routed to a wwProcess endpoint and an event you can handle. The default handler forwards these requests to methods which is ideal for JSON API endpoints. There's also a PathSegments class that is returned that lets you examine the various path parameters passed.

A new Markdown Parser
Markdown has become very popular in recent years - it's an easy to use edit format that uses common heuristics for marking up text with HTML intent. For example, **bold** or *italic* or ### Header 3 or * bullet. It's a wonderful format for rich text entry and widely used on developer sites and CMSs. A new Markdown() function makes it easy to convert Markdown to HTML.

Many improvements to wwHtmlHelpers
HtmlHelpers is a prg of HTML helpers that generate common HTML content. If you haven't looked at them you should take a look - they work great in combination with Script and Template pages. There are a couple of new ones: HtmlErrorDisplay() that displays an alert style box and HtmlBindingError() that you can use to dislpay binding error associated with a control. There have been a lot of improvements related to these helpers.

New Request Methods
There have been a bunch of updates the wwRequest object to replace some of the Array based based functions with collection based interfaces instead. A few of the new functions are:

* UnbindFormVars
Replace FormVarsToObject() with some additional functionality. UnbindFormVars() returns a collection of ValidationError objects that you can then in turn bind to the HtmlBindingErrors() controls or display in a validation dialog.

* GetFormMultipleCollection() and GetFormVarCollection()
These two methods replace the GetFormMultiple() and aFormVars() respectively with collection based results instead.

* FormOrValue
This function is a helper that returns either a POSTed form variable for the key provided or - on a GET request - binds the value passed. This is ideal for HTML form value display so that you see the value the user posted rather than the model value. In an error situation (ie. you enter an invalid number) you want to see the invalid value not the failed binding value on the model.

Typical usage:

value="<%= Request.FormOrValue('name',poCustomer.Name)"

* FormSelected and FormChecked
This values can be used on CheckBoxes and option controls to determine the value either from a form value or a model value. Like FormOrValue() depending on the state the value is or the Form value is used. Checks and selected values are tricky because they are only sent when set so there's quite a bit of logic wrapped up in this.

<input type="checkbox" name="IsActive" id="IsActive"
value="<%= Request.FormChecked("IsActive",poParms.IsActive) %>


Summary


There is a lot more and I encourage you to take a look at the What's New Page that has these updates and many more listed along with links to the documentation.





Hello Rick... I no longer use my other email address jim.monte@shields-e.us.. I only use jmonte407@gmail.com When wconnect version 6 comes out can you send a link to jmonte407@gmail.com I want to pay for this version.. Thanks JimM "now Jim Monte"

Gravatar is a globally recognized avatar based on your email address. Re: Web Connection 6.0 Beta 1 available
  Jim Monte
  Jim Monte
  Oct 28, 2015 @ 09:40am
Will you send out an email notifying us when it's out?


cool... looking forward to it.....

Yes that's in Beta 2 which I'm hoping to ship out later today... The docs were updated yesterday in anticipation of getting hte beta out but it didn't happen in time...

+++ Rick ---



in the documentation it says "New Project Wizard can now generate a REST Service" and that the wizard will prompt for regular process or REST process.. however, i never see this option when creating new project or adding additional process... New project just creates a regular process class.. when running the add a process class to existing project.. it just errors out..


Hi all,

I've released Web Connection 6 Beta 1 today with both shareware and registered versions available officially. If you're a registered user of Version 5.50 or later you should have gotten a notice for download of the beta - we're temporarily offerering free access to the beta. The final version however will be a paid upgrade.

You can get the shareware version to try out here:
http://west-wind.com/webconnection

There's also a video that shows how to get started and along the way highlights a number of the Version 6.0 new features.

The video is available at:
https://www.youtube.com/watch?v=Kga8Fuhzlwg

To see all that is new in more detail:
http://www.west-wind.com/webconnection/docs/index.htm?page=_S8104DGGL.htm

For a more detailed discussion of some of the features... read on.

What's new?


Lots! This is a major version update and there's lots of new stuff that I hope will make life easier for a lot of you. Most of the changes are incremental and operational changes meant to make it easier to work with Web Connection.

New Project Layout
The new version finally gets an isolated project layout, so when you create a new project the entire project is created in its own folder hierarchy. This means you get a top level folder that contains subfolders for Deploy (code) and Web and Data (optional use). Because the folder structure is fixed and known, the various configuration files can also make some assumptions about paths - by default Web Connection installs all configuration settings with relative paths, so that when you move or deploy an application no path changes are required. Paths here are the temp file path for file messaging, Web directories, upload folders for code updates etc.

The end result of this is that you have a much more portable site. You can easily move your Web Connection project folder to a new location and all that has to be changed is the IIS Virtual Path/Root Site configuration. Everything else stays set.

Automated Configuration
As a related feature Web Connection now generates two files as part of a new project:

* bld_<yourApp>.prg
* <yourApp>_ServerConfig.prg

The bld file build an exe and sets DCOM permissions. It also contains logic to post your EXE to the server if you are running in COM mode on the server. The file contains a few configuration settings where you can set the server path and username, and it can then hot swap the server by uploading and swapping the file on the server.

The ServerConfig is a generated server configuration script that can be used to configure your application in IIS and the local directory security. It basically allows you create a virtual directory in IIS, create one or more script maps and set permissions for local folders.

You can either run the file directly or, if you are using a new project you can run:

<MyApp>.exe config

which launches the configuration script that has been compiled into your server.

This makes it super easy to configure an application in place without many extra steps.

Layout Pages, Sections and Partials
If you're using MVC style development with Web Connection's Script or Template pages, these features provide you a lot more flexibility in creating reusable content. Script and Tempaltes allow you to write HTML markup with embeddded FoxPro code or expressions. The new features allow for layout pages which are 'master' pages into which content can be loaded. A content page can reference a Layout page and renders inside of a designated section of the layout file. The end result is that a Layout page can handle the site 'chrome' that is used on many pages in the site, while the content page only holds the actual page specific content. In addition you can also use Partial pages to create reusable content which is great for little components. Things like variable sidebars, login views, footers etc. can be created as partials. Partials are great for creating reusable content, but also are useful for breaking out complex content pages into smaller more manageable chunks of HTML that are easier to edit and navigate.

Extensionless Urls
A lot of people have asked for better support for extensionless URLs and there's now a more formal approach you can use in combination with the IIS URL Rewrite module. Extensionless URLs are routed to a wwProcess endpoint and an event you can handle. The default handler forwards these requests to methods which is ideal for JSON API endpoints. There's also a PathSegments class that is returned that lets you examine the various path parameters passed.

A new Markdown Parser
Markdown has become very popular in recent years - it's an easy to use edit format that uses common heuristics for marking up text with HTML intent. For example, **bold** or *italic* or ### Header 3 or * bullet. It's a wonderful format for rich text entry and widely used on developer sites and CMSs. A new Markdown() function makes it easy to convert Markdown to HTML.

Many improvements to wwHtmlHelpers
HtmlHelpers is a prg of HTML helpers that generate common HTML content. If you haven't looked at them you should take a look - they work great in combination with Script and Template pages. There are a couple of new ones: HtmlErrorDisplay() that displays an alert style box and HtmlBindingError() that you can use to dislpay binding error associated with a control. There have been a lot of improvements related to these helpers.

New Request Methods
There have been a bunch of updates the wwRequest object to replace some of the Array based based functions with collection based interfaces instead. A few of the new functions are:

* UnbindFormVars
Replace FormVarsToObject() with some additional functionality. UnbindFormVars() returns a collection of ValidationError objects that you can then in turn bind to the HtmlBindingErrors() controls or display in a validation dialog.

* GetFormMultipleCollection() and GetFormVarCollection()
These two methods replace the GetFormMultiple() and aFormVars() respectively with collection based results instead.

* FormOrValue
This function is a helper that returns either a POSTed form variable for the key provided or - on a GET request - binds the value passed. This is ideal for HTML form value display so that you see the value the user posted rather than the model value. In an error situation (ie. you enter an invalid number) you want to see the invalid value not the failed binding value on the model.

Typical usage:

value="<%= Request.FormOrValue('name',poCustomer.Name)"

* FormSelected and FormChecked
This values can be used on CheckBoxes and option controls to determine the value either from a form value or a model value. Like FormOrValue() depending on the state the value is or the Form value is used. Checks and selected values are tricky because they are only sent when set so there's quite a bit of logic wrapped up in this.

<input type="checkbox" name="IsActive" id="IsActive"
value="<%= Request.FormChecked("IsActive",poParms.IsActive) %>


Summary


There is a lot more and I encourage you to take a look at the What's New Page that has these updates and many more listed along with links to the documentation.






Hello Rick... I no longer use my other email address jim.monte@shields-e.us.. I only use jmonte407@gmail.com When wconnect version 6 comes out can you send a link to jmonte407@gmail.com I want to pay for this version.. Thanks JimM "now Jim Monte"

Gravatar is a globally recognized avatar based on your email address. Re: Web Connection 6.0 Beta 1 available
  Rick Strahl
  Jim Monte
  Oct 28, 2015 @ 09:58am
Yes.



Will you send out an email notifying us when it's out?


cool... looking forward to it.....

Yes that's in Beta 2 which I'm hoping to ship out later today... The docs were updated yesterday in anticipation of getting hte beta out but it didn't happen in time...

+++ Rick ---



in the documentation it says "New Project Wizard can now generate a REST Service" and that the wizard will prompt for regular process or REST process.. however, i never see this option when creating new project or adding additional process... New project just creates a regular process class.. when running the add a process class to existing project.. it just errors out..


Hi all,

I've released Web Connection 6 Beta 1 today with both shareware and registered versions available officially. If you're a registered user of Version 5.50 or later you should have gotten a notice for download of the beta - we're temporarily offerering free access to the beta. The final version however will be a paid upgrade.

You can get the shareware version to try out here:
http://west-wind.com/webconnection

There's also a video that shows how to get started and along the way highlights a number of the Version 6.0 new features.

The video is available at:
https://www.youtube.com/watch?v=Kga8Fuhzlwg

To see all that is new in more detail:
http://www.west-wind.com/webconnection/docs/index.htm?page=_S8104DGGL.htm

For a more detailed discussion of some of the features... read on.

What's new?


Lots! This is a major version update and there's lots of new stuff that I hope will make life easier for a lot of you. Most of the changes are incremental and operational changes meant to make it easier to work with Web Connection.

New Project Layout
The new version finally gets an isolated project layout, so when you create a new project the entire project is created in its own folder hierarchy. This means you get a top level folder that contains subfolders for Deploy (code) and Web and Data (optional use). Because the folder structure is fixed and known, the various configuration files can also make some assumptions about paths - by default Web Connection installs all configuration settings with relative paths, so that when you move or deploy an application no path changes are required. Paths here are the temp file path for file messaging, Web directories, upload folders for code updates etc.

The end result of this is that you have a much more portable site. You can easily move your Web Connection project folder to a new location and all that has to be changed is the IIS Virtual Path/Root Site configuration. Everything else stays set.

Automated Configuration
As a related feature Web Connection now generates two files as part of a new project:

* bld_<yourApp>.prg
* <yourApp>_ServerConfig.prg

The bld file build an exe and sets DCOM permissions. It also contains logic to post your EXE to the server if you are running in COM mode on the server. The file contains a few configuration settings where you can set the server path and username, and it can then hot swap the server by uploading and swapping the file on the server.

The ServerConfig is a generated server configuration script that can be used to configure your application in IIS and the local directory security. It basically allows you create a virtual directory in IIS, create one or more script maps and set permissions for local folders.

You can either run the file directly or, if you are using a new project you can run:

<MyApp>.exe config

which launches the configuration script that has been compiled into your server.

This makes it super easy to configure an application in place without many extra steps.

Layout Pages, Sections and Partials
If you're using MVC style development with Web Connection's Script or Template pages, these features provide you a lot more flexibility in creating reusable content. Script and Tempaltes allow you to write HTML markup with embeddded FoxPro code or expressions. The new features allow for layout pages which are 'master' pages into which content can be loaded. A content page can reference a Layout page and renders inside of a designated section of the layout file. The end result is that a Layout page can handle the site 'chrome' that is used on many pages in the site, while the content page only holds the actual page specific content. In addition you can also use Partial pages to create reusable content which is great for little components. Things like variable sidebars, login views, footers etc. can be created as partials. Partials are great for creating reusable content, but also are useful for breaking out complex content pages into smaller more manageable chunks of HTML that are easier to edit and navigate.

Extensionless Urls
A lot of people have asked for better support for extensionless URLs and there's now a more formal approach you can use in combination with the IIS URL Rewrite module. Extensionless URLs are routed to a wwProcess endpoint and an event you can handle. The default handler forwards these requests to methods which is ideal for JSON API endpoints. There's also a PathSegments class that is returned that lets you examine the various path parameters passed.

A new Markdown Parser
Markdown has become very popular in recent years - it's an easy to use edit format that uses common heuristics for marking up text with HTML intent. For example, **bold** or *italic* or ### Header 3 or * bullet. It's a wonderful format for rich text entry and widely used on developer sites and CMSs. A new Markdown() function makes it easy to convert Markdown to HTML.

Many improvements to wwHtmlHelpers
HtmlHelpers is a prg of HTML helpers that generate common HTML content. If you haven't looked at them you should take a look - they work great in combination with Script and Template pages. There are a couple of new ones: HtmlErrorDisplay() that displays an alert style box and HtmlBindingError() that you can use to dislpay binding error associated with a control. There have been a lot of improvements related to these helpers.

New Request Methods
There have been a bunch of updates the wwRequest object to replace some of the Array based based functions with collection based interfaces instead. A few of the new functions are:

* UnbindFormVars
Replace FormVarsToObject() with some additional functionality. UnbindFormVars() returns a collection of ValidationError objects that you can then in turn bind to the HtmlBindingErrors() controls or display in a validation dialog.

* GetFormMultipleCollection() and GetFormVarCollection()
These two methods replace the GetFormMultiple() and aFormVars() respectively with collection based results instead.

* FormOrValue
This function is a helper that returns either a POSTed form variable for the key provided or - on a GET request - binds the value passed. This is ideal for HTML form value display so that you see the value the user posted rather than the model value. In an error situation (ie. you enter an invalid number) you want to see the invalid value not the failed binding value on the model.

Typical usage:

value="<%= Request.FormOrValue('name',poCustomer.Name)"

* FormSelected and FormChecked
This values can be used on CheckBoxes and option controls to determine the value either from a form value or a model value. Like FormOrValue() depending on the state the value is or the Form value is used. Checks and selected values are tricky because they are only sent when set so there's quite a bit of logic wrapped up in this.

<input type="checkbox" name="IsActive" id="IsActive"
value="<%= Request.FormChecked("IsActive",poParms.IsActive) %>


Summary


There is a lot more and I encourage you to take a look at the What's New Page that has these updates and many more listed along with links to the documentation.








Rick Strahl
West Wind Technologies

Making waves on the Web
from Maui

© 1996-2024