1. Introduction
1.1 Using this Guide
2. Building your Web Site
2.1 The Home Page
2.2 Adjusting the menu
2.3 The Site Menu
2.4 Populating with basic data
2.4.1 Home Page
2.4.2 Calendar
2.4.3 Calendar Month
2.4.4 Information Page
2.4.5 Membership
2.4.6 People Database
2.5 More Features
2.5.1 Competitions and Ladders
2.5.2 Using Pictures
2.5.3 Using Documents
2.5.4 Displaying Hand of the Week
2.5.5 Site Style/Themes
2.5.6 More Calendar features
2.5.7 Login Passwords
2.5.8 Find a Partner
2.5.9 Bookings/Reservations
3. Using your Web Site - Administration
3.1 Scoring Software and Results Upload
3.1.1 Automatic upload
3.1.2 Results Administration
3.1.3 Results Files
3.1.4 Uploading the deal file
3.1.5 Amend or delete results
3.1.6 Setting Up for American Style
3.2 News Pages
3.3 Maintaining your calendar
3.4 Set up your Membership database
3.4.1 Add a Member
3.4.2 Member Only features
3.4.3 GDPR
3.4.4 What can Members Do?
3.5 Listing other clubs
3.5.1 Club Database
4. Using your Web Site - Members
4.1 Setting your password
4.2 Using Find a Partner
4.2.1 Find a Partner using Calendar Month Menu
4.2.2 Find a Partner using Member Only Tab
4.2.3 Making a reservation ( booking)
4.3 Download results
4.4 EBU NGS Grades
4.5 Results Display
4.5.1 Results Features
4.5.2 Personal Results Analysis
4.5.3 Card Analysis
4.5.4 Hand Evaluation
4.5.5 Movement options
4.5.6 Play it Again
4.5.7 Results Analysis
4.5.8 Results Display 2022 Edition
4.6 Personal Analysis
5. Trouble Shooting
5.1 Makeable contracts not displaying
5.2 Photos not displaying or displaying upside down
5.3 Passwords
5.3.1 Member password
5.4 Exporting list of members
5.5 Logging into bridgewebs from phone
5.6 How do you know if your site is on latest release
5.7 How do I set column widths
5.8 How do I change club name
5.9 How do I change the number of results appearing on the home page
5.9.1 Same person with records under two names
5.9.2 Results not properly uploaded
5.9.3 Showing slams in ranking table
5.10 Backups
5.11 Email groups
6. More on uploading results
6.1 General
6.1.1 Login Code
6.1.2 Set your Scoring Software
6.1.3 Predealt Hands
6.1.4 Wireless Scoring
6.1.5 Calendar Matching
6.2 Uploading from Scorebridge
6.2.1 Initial Setup Club Code and Password
6.2.2 Initial Setup Standard Outputs
6.2.3 Automatic Upload of Results each time
6.3 Uploading from EBUScore
6.4 Uploading from BrIan
6.5 Uploading from CompScore
6.6 Uploading ACBL results using Results Administration
6.6.1 If you use predealt hands
6.6.2 ACBL Live
6.7 Uploading ACBL results using Scorepost
6.7.1 Scorepost Setup
6.7.2 Save the Setup File
6.7.3 Scorepost Results Administration
6.8 Recover results files
6.9 Uploading using other scoring software
6.10 Multiple events on one day
6.11 Live Ranking
6.12 ACBL Master Points
6.13 ACBL Game Master Points
6.14 ACBL BWS File
6.15 Windows Firewall
7. Bridge Online
7.1 BBO Results
7.1.1 Method 1 Use BBO Extractor or other software
7.1.2 Method 2 Enter BBO Session Number into Calendar
7.1.3 Hints for accessing results of a BBO Session
7.1.4 Hints for translating the BBO Username to actual name
7.1.5 BBO ACBL Virtual Games
7.1.6 What is a CSV file?
7.2 BCL Virtual Clubs
7.3 RealBridge
7.4 ACBL@Live BBO Results
7.5 Stepbridge
7.6 Attendance/Table Money/Fees
8. Deal Files
8.1 Hand Generating software
8.2 Creating deal files
8.3 Deal Uploading
8.4 Play it Again software
8.5 EBU/ECATS Simultaneous sessions
8.6 Jannersten BOS/Duplimapp
8.7 Widgets
9. Web Pages
9.1 News Items
9.1.1 Changing/splitting pages
9.2 Editor
9.2.1 Editor usage
9.3 Add a Link
9.4 Forms
9.4.1 Forms emails
9.4.2 Message Board
9.5 Add Special Content/Widget
9.6 Hand of the week
9.7 Membership lists
9.7.1 Adding Extra Fields
9.8 Picture Gallery
9.8.1 To add a single picture to a news item
9.8.2 Using the editor
9.8.3 Using the Add Picture button
9.9 Page Options
9.9.1 Page Sequence
9.10 Themes and site style
9.11 Additional Features
10. The Calendar
10.1 Calendar Fields
10.2 Amending the Calendar
10.3 Highlighting Calendar Events
10.4 Quick Update
10.5 The Schedule
10.6 Calendar Options
10.7 Calendar Sharing
10.8 Suspending Calendar
10.9 Links to Online Bridge
10.10 Access to BBO Results
11. Competitions
11.1 Competition Features
11.2 Eligible Dates
11.2.1 User Selected Dates
11.2.2 Auto Dates
11.3 Presentation
11.4 Restrictions
11.5 Rules
11.6 Handicaps
11.6.1 Rolling Handicap
11.6.2 Calculating handicap for a pair
11.6.3 Manual Handicaps
11.6.4 NGS Handicaps
11.7 Name changes and aliases
11.8 Ascendancy Tables
11.9 NGS grades
11.10 Interclub
12. Club Location
13. The Menu
13.1 Amending the Menu
13.2 Adding Pages
13.3 Adding Documents
13.4 Member Only Menu
14. Pictures
14.1 Picture Library
14.2 Videos
14.3 Picture and Video upload
14.4 Membership pictures
14.5 Favicon
15. Documents
15.1 Document formats
15.2 Document Upload
15.3 Document Usage
15.4 Private Documents
16. Membership Features
16.1 Update your Membership Database
16.1.1 Synchronization
16.1.2 Import/Export
16.1.3 ACBL player file
16.1.4 Player Database
16.1.5 EBUScore Synchronization
16.2 Members Only Page
16.3 Calendar Features
16.4 Bulk email
16.4.1 To send "Bulk Email"
16.4.2 Email Selection Criteria
16.4.3 Mail Merge
16.4.4 Emailing Documents
16.4.5 Bulk Email Templates
16.5 PayPal Payments
16.5.1 PayPal Button
17. Email Queries
17.1 Emails not received
17.2 Bulk Email log
17.3 Email Service
18. Attendance Module
18.1 Attendance Overview
18.2 Attendance Basics
18.3 Options
18.4 Payment Rates
18.5 Attendance Operation
19. Social Module
19.1 Social Module Administration
20. Toolkit
20.1 Help Topics
20.2 Web Administration Set Up
21. Other important stuff
21.1 Adaptive design
21.2 Bridgewebs BackUps
21.3 Cut and Paste
21.4 Domain
21.5 PDF Files
21.6 Performance
21.7 Results only service
21.8 Security Settings
21.9 Spam
21.10 Site Statistics
21.11 Time Zone
21.12 Twitter
21.13 Upgrades
21.14 Browse Button
21.15 Web Searches
21.16 Character Sets
22. Programmer Notes
22.1 Player DB Synchronization
22.2 ScoreBridge Player Synch
22.3 CSV Format
22.4 API Interface
22.5 API Sample Code
22.6 Integrated Calendar Check
22.7 PBN Files
BridgeWebs User Guide
22. Programmer Notes
22.5 API Sample Code

The API interface in PC Software can use the HTTP Post Extension

The http address is http(s)://www.bridgewebs.com/cgi-bin/bwx/api.cgi?club=xxx

where xxx is your club code (repeat of parameters)

The following are suggestions based on feedback and will need to be verified in your particular software

Please Note, your SSL/TLS Interface software will need to use the latest TLSv1.2 to use https

As an example, see https://stackoverflow.com/questions/36574711/could-not-create-ssl-tls-secure-channel-getrequeststream

VB API Code

A suitable VB example for doing this can be found at http://www.example-code.com/vb/http_post_form.asp, or just search Google, so that the code would look something like:

Dim h As HTTPClass
Set h = New HTTPClass
Set clubcode = "myclub"
h.Fields("club") = clubcode
h.Fields("password") = "secret"
 ..........
If h.OpenHTTP("www.bridgewebs.com") Then
Debug.Print h.SendRequest("cgi-bin/bwx/api.cgi?club=" & clubcode, "POST")
End If

VB Net Code

A suitable VB class for doing this can be found at https://www.example-code.com/vbscript/http_formSubmitPost.asp, or just search Google, so that the code would look something like:

 

 Public Function GetFromWebSite() As Boolean

'   Get the player database from BridgeWebs

        Cursor.Current = Cursors.WaitCursor
        Dim h As HttpClass
        h = New HttpClass
        Dim x As Integer = 0
        Dim strPost As String = ""
        h.Fields("club") = "my_club"
        h.Fields("type") = "download"
        h.Fields("password") = "password"
        h.Fields("filename") = "players.txt"
        If h.OpenHTTP("www.bridgewebs.com") Then
            strPost = h.SendRequest("cgi-bin/bwx/api.cgi?club=" & "my_club", "POST")
        Else
            '     Provide the error returned from the open call
            MsgBox("Error on HTTP Open " & strPost, vbInformation, "Get from Web")
            Cursor.Current = Cursors.Arrow
            Return False
        End If
        x = InStr(strPost, "Download Successful")
        If x = 0 Then
         '     Provide the error returned from the open call
            MsgBox("HTTP Post operation failed while retrieving Player Database " & vbCrLf & strPost, vbCritical, "Post error")
            Cursor.Current = Cursors.Arrow
            Return False
        End If
        ' The string returned is in the format Data = "......." Message = "Download....."
        ' strip of the text we dont want
       '  Store the text in our global field
        a1.PlayerDownload = Mid(strPost, 8, x - 17)
        Cursor.Current = Cursors.Arrow
        Return True
    End Function

PHP API Code

Code for PHP will look something like, but not been tested.

$reply = "";

$clubcode = "myclub";
$data = "club=".urlencode(clubcode);
$data .= "&password=".urlencode("secret");
............
$header = "POST /mailer/send HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($data) . "\r\n\r\n";
$fp = fsockopen('http://www.bridgewebs.com/cgi-bin/bwx/api.cgi?club=' . $clubcode, 443, $errno, $errstr, 30);

if(!$fp)
   return "ERROR. Could not open connection";
else {
   fputs ($fp, $header.$data);
   while (!feof($fp)) {
     $reply .= fread ($fp, 1024);
   }
 fclose($fp);
 }
 print $reply;

Linux Perl API Code

Code for Perl will look something like, but not been tested.

my $clubcode = 'myclub";
my $url = 'http://www.bridgewebs.com/cgi-bin/bwx/api.cgi?club=' . $clubcode;
my $object = LWP::UserAgent->new;
my $request = $object->post ( $url,
{ 'club' =>$clubcode,
'password' => 'secret',
'type' => 'download',
.........
} );
my $reply = $request->as_string ();
print $reply;

'C' API Code (C# .NET 4.5)

Code for 'C' will look something like, but not been tested.

   async private void cmdUpload_Click(object sender, EventArgs e)
  {
     if (String.IsNullOrEmpty(m_UsebioFile)) // Check if xml file has already been created
     {
         cmdUsebio_Click(this, new EventArgs());  // If not, create it
         if (String.IsNullOrEmpty(m_UsebioFile))
         {
             MessageBox.Show("Failed to create file for upload!", Dashboard.WarningMsgTitle);
             return;
         }
     }

 

     // Create Key/Value pairs for the data

     Dictionary KVPs = new Dictionary(5);
     KVPs.Add("club", ClubID);
     KVPs.Add("password", "password");
     KVPs.Add("type", "upload");
     KVPs.Add("filename", m_UsebioFile);
     KVPs.Add("data", File.ReadAllText(Path.Combine(Properties.Settings.Default.UsebioPath, m_UsebioFile)));
     FormUrlEncodedContent fuec = new FormUrlEncodedContent(KVPs);

 

     HttpClient client = new HttpClient();
     HttpResponseMessage response = await client.PostAsync("http://www.bridgewebs.com/cgi-bin/bwx/api.cgi?club=" + ClubID, fuec);
     if (!response.IsSuccessStatusCode)
         MessageBox.Show("Upload failed!\r   Status Code: " + response.StatusCode.ToString() + "\r   Reason: " + response.ReasonPhrase, Dashboard.WarningMsgTitle,

             MessageBoxButtons.OK,MessageBoxIcon.Warning);

 }