UtterAccess.com
X   Site Message
(Message will auto close in 2 seconds)

Welcome to UtterAccess! Please ( Login   or   Register )

Custom Search
2 Pages V  1 2 >  (Go to first unread post)
   Reply to this topicStart new topic
> Web Dev & Other Languages    
 
   
projecttoday
post Jun 8 2020, 11:18 PM
Post#1


UtterAccess VIP
Posts: 12,376
Joined: 10-February 04
From: South Charleston, WV


(thread created from split of: https://www.UtterAccess.com/forum/index.php...&p=2754667)

Sounds cool. Who markets PHP? What operating system does it run under?

--------------------
Robert Crouser
Go to the top of the page
 
FrankRuperto
post Jun 9 2020, 12:05 AM
Post#2



Posts: 1,099
Joined: 21-September 14
From: Tampa, Florida USA


php is open source. It's actually a server-side scripting language that works well with several db servers and well suited for developing web based applications. There are php frameworks such as Symfony which provide a rich set of libraries. We're using python for the frontend user interface. The objective is to provide a device-independent browser-based version of our pawn app that can run on a localhosted intranet as well as remote access via the internet.

--------------------
Currently supporting pawnbrokers that use my store management system developed with Access 2010 on Windows7. Experienced with Informix, Oracle & PostgreSQL db's.
Go to the top of the page
 
projecttoday
post Jun 9 2020, 01:25 AM
Post#3


UtterAccess VIP
Posts: 12,376
Joined: 10-February 04
From: South Charleston, WV


It still runs on a Windows PC, right? What db do you use to store the data?

--------------------
Robert Crouser
Go to the top of the page
 
cheekybuddha
post Jun 9 2020, 04:08 AM
Post#4


UtterAccess Moderator
Posts: 13,004
Joined: 6-December 03
From: Telegraph Hill


php had its 25th birthday yesterday!!! fundrink.gif

--------------------


Regards,

David Marten
Go to the top of the page
 
jleach
post Jun 9 2020, 05:04 AM
Post#5


UtterAccess Administrator
Posts: 10,570
Joined: 7-December 09
From: St. Augustine, FL


And it's still one of the worst "languages" ever written... https://eev.ee/blog/2012/04/09/php-a-fractal-of-bad-design/

(typically MySQL for data storage)

--------------------
Jack D. Leach
Founder & CEO
Dymeng Services Inc.
Business Software Solutions
Go to the top of the page
 
FrankRuperto
post Jun 9 2020, 05:22 AM
Post#6



Posts: 1,099
Joined: 21-September 14
From: Tampa, Florida USA


QUOTE (Jack)
And it's still one of the worst "languages" ever written

I read the rant in that webpage. FWIW, php and several other scripting languages, like js (JavaScript) have evolved, and will continue to do so.
It can only get better as time moves on, whereas desktop Access' days are numbered.
Frameworks now offer a robust set of library functions that make it possible to build browser-based apps with rich functionality.
Best of all, one can use open source components and not have to spend a dime on licensing or deal with artificially imposed restrictions.
This post has been edited by FrankRuperto: Jun 9 2020, 05:32 AM

--------------------
Currently supporting pawnbrokers that use my store management system developed with Access 2010 on Windows7. Experienced with Informix, Oracle & PostgreSQL db's.
Go to the top of the page
 
DanielPineault
post Jun 9 2020, 05:49 AM
Post#7


UtterAccess VIP
Posts: 7,376
Joined: 30-June 11



Microsoft has officially recognized the issue. I have updated my blog post with their full statement, refer to https://www.devhut.net/2020/06/08/access-ve...using-problems/, which supports what has been recommended ie: rollback the faulty update.

--------------------
Daniel Pineault (2010-2020 Microsoft MVP, UA VIP, EE Distinguished Expert 2018)
Professional Help: https://www.cardaconsultants.com
Free MS Access Code, Tips, Tricks and Samples: https://www.devhut.net

* Design should never say "Look at me". It should always say "Look at this". -- David Craib
* A user interface is like a joke, if you have to explain it, it's not that good! -- Martin LeBlanc


All code samples, demonstration databases, links,... are provided 'AS IS' and are to be used at your own risk! Take the necessary steps to check, validate ...(you are responsible for your choices and actions)
Go to the top of the page
 
Corky
post Jun 9 2020, 06:03 AM
Post#8



Posts: 360
Joined: 22-August 02
From: NE PA


I don't think anyone else mentioned this but you declared your variables as follows:
Dim D As Database, R As Recordset

I think you should have declared them as:
Dim D As DAO.Database, R As DAO.Recordset
Go to the top of the page
 
FrankRuperto
post Jun 9 2020, 06:25 AM
Post#9



Posts: 1,099
Joined: 21-September 14
From: Tampa, Florida USA


QUOTE (Corky)
I think you should have declared them as:
Dim D As DAO.Database, R As DAO.Recordset

Does that make any difference?... I thought we no longer needed to include DAO

Daniel,

That latest build also impacted Excel. I noticed in the MS release notes they added some new datatypes. I did not see any mention of Access in their notes. I think the problem is that the MS Office team are the one's who are driving and pushing these updates, without first giving the Access team an opportunity to alpha test changes.
This post has been edited by FrankRuperto: Jun 9 2020, 06:30 AM

--------------------
Currently supporting pawnbrokers that use my store management system developed with Access 2010 on Windows7. Experienced with Informix, Oracle & PostgreSQL db's.
Go to the top of the page
 
cheekybuddha
post Jun 9 2020, 06:51 AM
Post#10


UtterAccess Moderator
Posts: 13,004
Joined: 6-December 03
From: Telegraph Hill


>> I thought we no longer needed to include DAO <<

Recent experience would seem to indicate exactly the opposite!

--------------------


Regards,

David Marten
Go to the top of the page
 
projecttoday
post Jun 9 2020, 08:39 AM
Post#11


UtterAccess VIP
Posts: 12,376
Joined: 10-February 04
From: South Charleston, WV


Python is the fastest growing language according to StackOverflow.

--------------------
Robert Crouser
Go to the top of the page
 
jleach
post Jun 9 2020, 09:04 AM
Post#12


UtterAccess Administrator
Posts: 10,570
Joined: 7-December 09
From: St. Augustine, FL


>> Does that make any difference?... I thought we no longer needed to include DAO <<

I think it's a good practice to disambiguate and not leave it up to the project to determine which library's recordset you mean...

>> Python <<

Yes, highly popular with a wide variety of uses. For lower-level languages, Rust looks like it could be pretty cool (I wouldn't mind a chance to play, but I don't tend to do a lot of programming anymore these days...): https://stackoverflow.blog/2020/06/05/why-t...t-so-much/?cb=1

--------------------
Jack D. Leach
Founder & CEO
Dymeng Services Inc.
Business Software Solutions
Go to the top of the page
 
cheekybuddha
post Jun 9 2020, 09:13 AM
Post#13


UtterAccess Moderator
Posts: 13,004
Joined: 6-December 03
From: Telegraph Hill


>> And it's still one of the worst "languages" ever written <<

I think that's a bit harsh - it's an easy language to write and, similarly to VBA, it's easy to write really crappy code.

And then there are so many appalling examples on the internet. pullhair.gif

--------------------


Regards,

David Marten
Go to the top of the page
 
projecttoday
post Jun 9 2020, 11:17 AM
Post#14


UtterAccess VIP
Posts: 12,376
Joined: 10-February 04
From: South Charleston, WV


But how to remove Microsoft from the equation?

--------------------
Robert Crouser
Go to the top of the page
 
raykor
post Jun 9 2020, 11:49 AM
Post#15



Posts: 156
Joined: 5-April 09
From: Seattle, WA


I rolled back from v2005 to v2004 and everything is working correctly again. Crazy!
Go to the top of the page
 
FrankRuperto
post Jun 9 2020, 11:58 AM
Post#16



Posts: 1,099
Joined: 21-September 14
From: Tampa, Florida USA


Good to hear rolling back 2005 update solved your problem.

QUOTE (Robert)
But how to remove Microsoft from the equation?

There's no need to remove MS from the equation. Since the new app runs on a web browser, you can use any device that has a browser.

--------------------
Currently supporting pawnbrokers that use my store management system developed with Access 2010 on Windows7. Experienced with Informix, Oracle & PostgreSQL db's.
Go to the top of the page
 
projecttoday
post Jun 9 2020, 12:14 PM
Post#17


UtterAccess VIP
Posts: 12,376
Joined: 10-February 04
From: South Charleston, WV


What new app are you referring to? Is is hosted by an ISP or is it just a local web page?

I have an Access database that I depend on every day. I'm considering re-coding it in something that doesn't involve the Microsoft Corporation. I'm thinking of buying a Mac and learning Python.

--------------------
Robert Crouser
Go to the top of the page
 
FrankRuperto
post Jun 9 2020, 12:30 PM
Post#18



Posts: 1,099
Joined: 21-September 14
From: Tampa, Florida USA


I was referring to our Access pawn app which we are rewriting to run on a browser in an on-premise intranet. However, we will continue to support our current Access version since not all users will want to migrate, but the option will be available in case.

--------------------
Currently supporting pawnbrokers that use my store management system developed with Access 2010 on Windows7. Experienced with Informix, Oracle & PostgreSQL db's.
Go to the top of the page
 
FrankRuperto
post Jun 9 2020, 03:13 PM
Post#19



Posts: 1,099
Joined: 21-September 14
From: Tampa, Florida USA


Hi Robert,

Keep in mind that the cloud is not always the best place for new applications, even though that seems to be what everyone is pushing these days.

A very viable alternative to MS Access for internal apps is Python and GTK+. There are other, similar options. This type of solution requires fewer resources than a web app, fewer layers of complexity and fewer headaches.

Developing the same thing that is in an Access application could take 3 to 4 times longer to program in any other language.

Microsoft Access back-end databases can be corrupted for several reasons including:
1. ACE/JET uses Windows DLL's to manage the back-end directly from the front-end. If multiple people are accessing the database these DLL's can have timing issues that "confuse" the back-end. These timing issues are more prevalent over slow connections, such as VPN connections and as the user count increases.
2. Bad network packets will cause corruptions. Access doesn't perform any sort of packet validation. If a bad packed is received, it will be used. Bad packets are caused by faulty hardware and noise on the network cabling. When sending packets over the Internet there's always going to be bad packets.
3. When multiple users use the same front-end file, Windows eventually won't release the lock on the ACCDL lock file. The only person that can modify the file is the one with the lock on it. Everyone else is locked out of the database.
4. Most Access applications don't use atomic transactions. Because of that, if something goes wrong, changes can't be rolled back.

Web applications don't suffer from the same issues as Access for several reasons:
1. The database is usually managed by a server database engine. Having the Web app manage it's own tables would be the equivalent of Access and would be a nightmare.
2. DB server engines queue requests and handle them when they are able. Network timing and concurrent users is not an issue.
3. Server databases perform packet validations and request bad packets be resent.
4. Servers use transactions that can be rolled back if something goes wrong.

Building a web app on the local network is the same as for the Internet. You will need:
1. At least one server machine. The machine(s) can use Linux or WindowsServer, but not consumer workstation Windows versions, or a hypervisor that manages VM's.
2. SSL or VPN if remote users will connect.
3. If it requires a database, a database engine like PostgreSQL, MySQL, Maria, SQL-Server
4. A web server to accept http(s) requests and to return the results. Web servers can be Apache, Nginx, IIS, etc.
5. Multiple programming languages for the web server. HTML for the browser to read. CSS for design elements. PHP, ASP.NET, Java, Ruby, etc. if you want to create dynamic pages. Dynamic pages are built in real time, on the server based on the http request.
6. SAMBA on Windows workstations if you're going to use them to link with a Linux server via an ethernet cable.

Here's an example of how a web app works: You click on the shopping cart button on the web page. That sends a request to the server that includes your identifying information and the request you made. Apache accepts the request and hands it off to PHP. PHP calls on the database to return your cart data. It then assembles the HTML for the list, which can include images, descriptions and a button to remove an item or controls to change the quantity. PHP then assembles the list into an HTML header and footer (possibly multiple server side files). The header has the page title and other information. The footer has the item total, taxes, credit card selection, etc. The completed page is handed back to Apache. Apache sends the page out to your browser. Each function in the page, like deleting an item or changing it's quantity does something similar. Page data can be passed to the server as part of the URL, a POST requst or a cookie. The level of security needed drives the methods used to pass data to and from the browser.

7. A web app can be limited to the browser. YouTube is an example of one. The only requirements are a machine and browser capable of showing the web pages and videos. Searches, managing subscriptions and other functions are handled on the server side. For more interaction with the device's resources a local app is recommended. For example, a banking app where you take pictures of checks for depositing will require a local app that provides access to the camera, access to the file system and encrypted protocols for uploading images and working with account data. The server side of a local app requires items 1 through 6 and possibly 8. The client side can be written in any language that can access the web and has a user interface. That means pretty much any language you want. Some popular languages are Python, Java and .NET. The client side app will have an installer because it will typically have multiple files. It also requires a run-time version of the language(s) in which it is written. That may be included in the installer, too.

8. A Web framework. You may want a web framework for organizing files and obtaining scripts. For non-SQL developers, a framework can provide an abstraction layer that attempts to provide simplicity. Frameworks are supposed to make development easier but they too have learning curves and it's debatable if they are worth it. Most of our web developer's experience is with CodeIgniter. He likes it, but doesn't solely depend on it.
9. If you are developing for desktop and mobile devices you also need responsive interfaces that can automatically adjust to different screen sizes. A decent example of this is YouTube.
10. Depending on what you are doing, you may also be able to download scripts from Internet sources to save you some time compared to creating the same functionality yourself.
11. A reporting engine. If you are writing simple reports or just a few reports, just write them as web pages. If you are writing a lot of reports or complex reports, you can get a reporting engine. There's SQL Server Reporting Services, Crystal Reports, and a whole lot of free/open source services. A reporting service provides a common user interface and a development interface.
12. JQuery is an extension to JavaScript to make it easier to use JavaScript. AJAX is a technology that allows reloading part of a page. JSON is a key>>value pair representation of data. I know there are other technologies like these but I can't think of the names at this time. These are optional technologies but make developing site easier.

It is possible to move from Access to other technologies. Keep in mind that the time it takes to create something in Access is less than in other languages. Also, I recommend putting the data on a server and make the Access application work with the server. At a minimum, that will resolve corruption issues and may resolve performance issues. Users can continue using Access until the new application's features are working. You may also decide that it's easier to keep the administrative features in Access even if "normal user" facing features are in a new technology.

Linux software isn't totally bug free but we have not seen the degree of bugs in Linux that there have been in Windows. Additionally, Windows technologies equate to higher costs and longer wait times for many processes to complete. The idea that commercial software is better because you pay for it just isn't the case. Most open source software is free. You get the benefits of something that someone else paid for and that someone isn't profit driven.
The specs for SQL Server Express have recently changed again. SQL Server Express will now work for smaller websites. Still, the problem is that it won't scale up without spending a lot of money.

Hope this answer some questions and doubts you may have about converting desktop apps to browser-based web apps.
This post has been edited by FrankRuperto: Jun 9 2020, 03:22 PM

--------------------
Currently supporting pawnbrokers that use my store management system developed with Access 2010 on Windows7. Experienced with Informix, Oracle & PostgreSQL db's.
Go to the top of the page
 
projecttoday
post Jun 9 2020, 09:25 PM
Post#20


UtterAccess VIP
Posts: 12,376
Joined: 10-February 04
From: South Charleston, WV


Thank you, Frank!

--------------------
Robert Crouser
Go to the top of the page
 
2 Pages V  1 2 >


Custom Search


RSSSearch   Top   Lo-Fi    5th July 2020 - 11:35 AM