can someone explain to me what is mod_harbour?
can someone explain to me what is mod_harbour?
Please,
can someone explain to me what is mod_harbour?
can someone explain to me what is mod_harbour?
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: can someone explain to me what is mod_harbour?
Ubiratan,
Have you ever wished to use Harbour to build apps for the web ?
That is exactly mod_harbour
mod_harbour is an extension module for Apache that allows you to run PRGs directly on the web, without having to build EXEs, etc.
You simply install mod_harbour on an Apache server (running locally on your computer or on a remote PC) and you start running your PRGs on the web !!!
Next, you need to understand how to develop web apps but, don't worry, we provide lots of examples so you can quick start using it
Please review this live demo built using mod_harbour (pure Harbour!)
https://harbour.fourtech.es/modharbour_ ... /index.prg
Finally, mod_harbour is totally free and open source. Wow !!!
Have you ever wished to use Harbour to build apps for the web ?
That is exactly mod_harbour
mod_harbour is an extension module for Apache that allows you to run PRGs directly on the web, without having to build EXEs, etc.
You simply install mod_harbour on an Apache server (running locally on your computer or on a remote PC) and you start running your PRGs on the web !!!
Next, you need to understand how to develop web apps but, don't worry, we provide lots of examples so you can quick start using it
Please review this live demo built using mod_harbour (pure Harbour!)
https://harbour.fourtech.es/modharbour_ ... /index.prg
Finally, mod_harbour is totally free and open source. Wow !!!
- Marc Venken
- Posts: 727
- Joined: Tue Jun 14, 2016 7:51 am
Re: can someone explain to me what is mod_harbour?
Antonio,
So it is easy to show as example Customer.dbf from sample's on the web in a xbrowse now ?
So it is easy to show as example Customer.dbf from sample's on the web in a xbrowse now ?
Marc Venken
Using: FWH 20.08 with Harbour
Using: FWH 20.08 with Harbour
- Marc Venken
- Posts: 727
- Joined: Tue Jun 14, 2016 7:51 am
Re: can someone explain to me what is mod_harbour?
Looking into Genesis.
We need php code to do the job right ?
In fact, you use prg directly, but it would be the same as using files in .php like before ?
At this moment it is not so that Xbrowse will become a single line call in Mod_harbour like Xbrowser("customer")
We need php code to do the job right ?
In fact, you use prg directly, but it would be the same as using files in .php like before ?
At this moment it is not so that Xbrowse will become a single line call in Mod_harbour like Xbrowser("customer")
Marc Venken
Using: FWH 20.08 with Harbour
Using: FWH 20.08 with Harbour
- Marc Venken
- Posts: 727
- Joined: Tue Jun 14, 2016 7:51 am
Re: can someone explain to me what is mod_harbour?
Ok, I found the source code of Genesis, and mutch more is clear now.
Php is needed !
Maybe FWH can build the php code from xbrowse in the near future... (a Xbrowse light version)
Php is needed !
Maybe FWH can build the php code from xbrowse in the near future... (a Xbrowse light version)
Marc Venken
Using: FWH 20.08 with Harbour
Using: FWH 20.08 with Harbour
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: can someone explain to me what is mod_harbour?
Marc,
PHP is NOT needed at all. We only use Harbour PRG code !!!
thats the beauty of it
1. Have you installed Apache on your Windows or Xampp on your Windows ?
2. Have you properly installed mod_harbour ?
Please read this and follow the steps:
http://forums.fivetechsupport.com/viewt ... 85#p223785
PHP is NOT needed at all. We only use Harbour PRG code !!!
thats the beauty of it
1. Have you installed Apache on your Windows or Xampp on your Windows ?
2. Have you properly installed mod_harbour ?
Please read this and follow the steps:
http://forums.fivetechsupport.com/viewt ... 85#p223785
- Marc Venken
- Posts: 727
- Joined: Tue Jun 14, 2016 7:51 am
Re: can someone explain to me what is mod_harbour?
But the source is using PHP to build the table.Antonio Linares wrote:Marc,
PHP is NOT needed at all. We only use Harbour PRG code !!!
thats the beauty of it
1. Have you installed Apache on your Windows or Xampp on your Windows ?
2. Have you properly installed mod_harbour ?
Please read this and follow the steps:
http://forums.fivetechsupport.com/viewt ... 85#p223785
I use the same technique to build a php file from fwh and upload that php file to the server. I'm missing the logic and/or advantages right now. What i'm missing that Mod_harbour is doing better ?
Code: Select all
function BuildBrowse( cTableName )
local cHtml := "", n, nRow := 0
USE ( hb_GetEnv( "PRGPATH" ) + "/data/" + cTableName ) SHARED NEW
if ! Empty( GetAction() ) .and. GetAction() == "add"
APPEND BLANK
GO TOP
endif
if ! Empty( GetAction() ) .and. GetAction() == "del"
USE
USE ( hb_GetEnv( "PRGPATH" ) + "/data/" + cTableName ) NEW
DbGoTo( GetVal1() )
DELETE
PACK
USE
USE ( hb_GetEnv( "PRGPATH" ) + "/data/" + cTableName ) SHARED NEW
GO TOP
endif
if ! Empty( GetAction() ) .and. GetAction() == "search"
SET FILTER TO Upper( GetParam1() ) $ Upper( DBRECORDINFO( 7 ) )
GO TOP
nVal1 = 20
endif
if GetVal2() != 0
DbSkip( GetVal2() )
endif
cHtml += '<table id="browse" class="table table-striped table-hover;"">' + CRLF
cHtml += '<thead>' + CRLF
cHtml += '<tr>' + CRLF
cHtml += '<th scope="col">#</th>' + CRLF
for n = 1 to FCount()
cHtml += '<th scope="col">' + FieldName( n ) + '</th>' + CRLF
next
cHtml += '<th scope="col">ACTIONS</th>' + CRLF
cHtml += '</tr>' + CRLF
cHtml += '</thead>' + CRLF
cHtml += '<tbody>' + CRLF
while ! Eof() .and. nRow < GetVal1()
cHtml += "<tr>" + CRLF
cHtml += '<th scope="row">' + AllTrim( Str( RecNo() ) ) + "</th>" + CRLF
for n = 1 to FCount()
do case
case FieldType( n ) == "M"
cHtml += '<td>' + If( "</" $ FieldGet( n ), "...", SubStr( FieldGet( n ), 1, 20 ) ) + CRLF
if ! "</" $ FieldGet( n )
cHtml += '<button onclick="MsgInfo(' + "'" + ;
StrTran( FieldGet( n ), Chr( 13 ) + Chr( 10 ), "<br>" ) + "', '" + ;
FieldName( n ) + "');" + '"' + ;
' type="button" class="btn btn-primary"' + CRLF
cHtml += ' style="border-color:gray;color:gray;background-color:#f9f9f9;">' + CRLF
cHtml += '<i class="fas fa-eye"' + ;
' style="color:gray;padding-right:15px;font-size:16px;">' + CRLF
cHtml += '</i>View</button>' + CRLF
endif
if FieldName( n ) == "CODE"
cHtml += '<button onclick="location.href=' + "'index.prg?" + Lower( Alias() ) + ":exec:" + ;
AllTrim( Str( RecNo() ) ) + "';" + ;
'" type="button" class="btn btn-primary"' + CRLF
cHtml += ' style="border-color:gray;color:gray;background-color:#f9f9f9;">' + CRLF
cHtml += '<i class="fas fa-flash"' + ;
'style="color:gray;padding-right:15px;font-size:16px;">' + CRLF
cHtml += '</i>Exec</button>' + "</td>" + CRLF
else
cHtml += "</td>" + CRLF
endif
case FieldType( n ) == "L"
cHtml += '<td><input type="checkbox" onclick="return false;"' + ;
If( FieldGet( n ), "checked", "" ) + "></td>" + CRLF
otherwise
cHtml += '<td>' + ValToChar( FieldGet( n ) ) + "</td>" + CRLF
if FieldType( n ) == "C" .and. "." $ FieldGet( n )
// if File( hb_GetEnv( "PRGPATH" ) + FieldGet( n ) )
cHtml += '<td><img src="' + hb_GetEnv( "DOCUMENT_ROOT" ) + ;
AllTrim( FieldGet( n ) ) + ;
'" style="width:50px;border-radius:50%;"></td>' + CRLF
// endif
endif
endcase
next
cHtml += '<td>' + CRLF
cHtml += '<button onclick="Edit(' + AllTrim( Str( RecNo() ) ) + ');"' + ;
' type="button" class="btn btn-primary"' + CRLF
cHtml += ' style="border-color:gray;color:gray;background-color:#f9f9f9;">' + CRLF
cHtml += '<i class="fas fa-edit" style="color:gray;padding-right:15px;font-size:16px;">' + CRLF
cHtml += '</i>Edit</button>' + CRLF
cHtml += '<button onclick="Delete(' + AllTrim( Str( RecNo() ) ) + ');"' + ;
' type="button" class="btn btn-primary"' + CRLF
cHtml += ' style="border-color:gray;color:gray;background-color:#f9f9f9;">' + CRLF
cHtml += '<i class="fas fa-trash" style="color:gray;padding-right:15px;font-size:16px;">' + CRLF
cHtml += '</i>Delete</button>' + CRLF
cHtml += '</td>' + CRLF
SKIP
nRow++
end
cHtml += '</tbody>' + CRLF
cHtml += '</table>' + CRLF
cHtml += "<hr>" + CRLF
cHtml += '<div class="row" style="padding-left:15px">' + CRLF
cHtml += '<div class="col-sm-3">' + CRLF
cHtml += "Showing records " + AllTrim( Str( Max( GetVal2() + 1, 1 ) ) ) + " - " + ;
AllTrim( Str( RecNo() - 1 ) ) + " / Total: " + AllTrim( Str( RecCount() ) ) + "</div>" + CRLF
cHtml += '<div class="col-sm-1"></div>' + CRLF
if RecCount() > nRow
cHtml += '<div class="col-sm-3 btn-group" style="height:50px;">' + CRLF
cHtml += ' <button onclick="' + "location.href='index.prg?" + GetContent() + ":browse:' + GetRowsPerPage() + ':" + ;
AllTrim( Str( 0 ) ) + "'" + '" type="button" class="btn btn-primary" style="background-color:{{GetColor1()}};">' + ;
'<i class="fas fa-angle-double-left" style="color:white;padding-right:15px;font-size:18px;"></i>First</button>' + CRLF
cHtml += ' <button onclick="' + "location.href='index.prg?" + GetContent() + ":browse:' + GetRowsPerPage() + ':" + ;
AllTrim( Str( RecNo() - 41 ) ) + "'" + '" type="button" class="btn btn-primary" style="background-color:{{GetColor2()}};">' + ;
'<i class="fas fa-angle-left" style="color:white;padding-right:15px;font-size:18px;"></i>Prev</button>' + CRLF
cHtml += ' <button onclick="' + "location.href='index.prg?" + GetContent() + ":browse:' + GetRowsPerPage() + ':" + ;
AllTrim( Str( RecNo() - 1 ) ) + "'" + '" type="button" class="btn btn-primary" style="background-color:{{GetColor2()}};">Next' + ;
'<i class="fas fa-angle-right" style="color:white;padding-left:15px;font-size:18px;"></i></button>' + CRLF
cHtml += ' <button onclick="' + "location.href='index.prg?" + GetContent() + ":browse:' + GetRowsPerPage() + ':" + ;
AllTrim( Str( RecCount() - 20 ) ) + "'" + '" type="button" class="btn btn-primary" style="background-color:{{GetColor1()}};">Last' + ;
'<i class="fas fa-angle-double-right" style="color:white;padding-left:15px;font-size:18px;"></i></button>' + CRLF
cHtml += '</div>' + CRLF
endif
cHtml += "</div>" + CRLF + "</div>" + CRLF + "</div>" + CRLF
USE
return cHtml
No, I generaly use dreamweaver to edit the php files offline and put them back online to the server. Also for testing..
// 2. Have you properly installed mod_harbour ?
Not yet. The installation seems not that easy, but I will look into it after seeing some more samples.
I simple would like a database to show data online. I can do it in php, but looking for a sample from Harbour. (the index.prg sample is using also PHP) but maybe I'm missing parts of way Mod is working.
Marc Venken
Using: FWH 20.08 with Harbour
Using: FWH 20.08 with Harbour
Re: can someone explain to me what is mod_harbour?
Sorry, what is the index.prg file that php uses?Marc Venken wrote: ...I can do it in php, but looking for a sample from Harbour. (the index.prg sample is using also PHP) but maybe I'm missing parts of way Mod is working.
C. Navarro
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noción del tiempo
Si alguien te dice que algo no se puede hacer, recuerda que esta hablando de sus limitaciones, no de las tuyas.
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: can someone explain to me what is mod_harbour?
Marc,
The generated code is HTML. Thats the web language plus css and javascript.
With mod_harbour you don't have to build an EXE. The PRGs directly run from the web server.
That turns Harbour into a web development language, in the same level as php, python, asp, etc
When you get the mod_harbour concept and test it for yourself, then you will realize the enormous difference this means.
We are organizing a mod_harbour seminar in Otto's Hotel. You should come
The generated code is HTML. Thats the web language plus css and javascript.
With mod_harbour you don't have to build an EXE. The PRGs directly run from the web server.
That turns Harbour into a web development language, in the same level as php, python, asp, etc
When you get the mod_harbour concept and test it for yourself, then you will realize the enormous difference this means.
We are organizing a mod_harbour seminar in Otto's Hotel. You should come
- Marc Venken
- Posts: 727
- Joined: Tue Jun 14, 2016 7:51 am
Re: can someone explain to me what is mod_harbour?
It is not using php, but it is generating html code (needed for web).cnavarro wrote:Sorry, what is the index.prg file that php uses?Marc Venken wrote: ...I can do it in php, but looking for a sample from Harbour. (the index.prg sample is using also PHP) but maybe I'm missing parts of way Mod is working.
It is somewhat like using php files that also creates html files in order to work on the web.
As I think now, Mod_Harbour is also a way of programming web apps. Users that know Harbour well will benifid surely of the new development.
I had the wrong idea that it was possible now to use fwh programs the normal way and they would become web ready...
But I think that it will be possible in the future that a code like
xbrowser("customer")
will generate the table in html and execute well on the web
I will surely folow the genesis project.
Marc Venken
Using: FWH 20.08 with Harbour
Using: FWH 20.08 with Harbour
Re: can someone explain to me what is mod_harbour?
Hello Marc,
for a quick test:
Please add these lines to GENESIS in menu.view
That's all. WOW.
Best reards,
Otto
for a quick test:
Please add these lines to GENESIS in menu.view
That's all. WOW.
Best reards,
Otto
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
- Massimo Linossi
- Posts: 474
- Joined: Mon Oct 17, 2005 10:38 am
- Location: Italy
Re: can someone explain to me what is mod_harbour?
Otto,
What you have done is really great. I'm making some progress using mod_harbour and with the big help of Antonio
I can now connect with Advantage Database Server. The browses and the selects are like rockets.
And the html code is built and optimized with Bootstrap. So all the forms are compatible with different screen sizes.
I found the Bootstrap Studio https://bootstrapstudio.io that can help to build fantastic forms.
What you have done is really great. I'm making some progress using mod_harbour and with the big help of Antonio
I can now connect with Advantage Database Server. The browses and the selects are like rockets.
And the html code is built and optimized with Bootstrap. So all the forms are compatible with different screen sizes.
I found the Bootstrap Studio https://bootstrapstudio.io that can help to build fantastic forms.
Re: can someone explain to me what is mod_harbour?
Massimo,
I bought bootstrapstudio myself.
mod harbour opens up perspectives I did not even dare to think about.
Unfortunately I have a few other jobs to complete and can therefore only use little time for mod harbor at the moment .
I did some ASP programming 15 years ago. This helps me now. But with Harbour at the backend we are ready to go.
But I think I can start the first project in 14 days.
Maybe you come to visit me.
Sincerely
Otto
https://www.bergland.info
I bought bootstrapstudio myself.
mod harbour opens up perspectives I did not even dare to think about.
Unfortunately I have a few other jobs to complete and can therefore only use little time for mod harbor at the moment .
I did some ASP programming 15 years ago. This helps me now. But with Harbour at the backend we are ready to go.
But I think I can start the first project in 14 days.
Maybe you come to visit me.
Sincerely
Otto
https://www.bergland.info
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
mod harbour - Vamos a la conquista de la Web
modharbour.org
********************************************************************
- Massimo Linossi
- Posts: 474
- Joined: Mon Oct 17, 2005 10:38 am
- Location: Italy
Re: can someone explain to me what is mod_harbour?
Otto,
I wish to come to visit you. Maybe at the end of summer.
We are not so far and I've been a lot of times to ski near your place, many many years ago.
Have a nice evening
Massimo
I wish to come to visit you. Maybe at the end of summer.
We are not so far and I've been a lot of times to ski near your place, many many years ago.
Have a nice evening
Massimo