Line 1: |
Line 1: |
− | <noinclude>[[Category:Feature Ready for Release Manager]] | + | <noinclude> |
| [[Category:Feature|Proxy Settings]] | | [[Category:Feature|Proxy Settings]] |
| </noinclude> | | </noinclude> |
Line 9: |
Line 9: |
| == Owner == | | == Owner == |
| | | |
− | [[User:sascha_silbe|Sascha Silbe]] | + | |
| + | [[User:sascha_silbe|Sascha Silbe]], [[User:ajay_garg|Ajay Garg]] (ajay@activitycentral.com), [[User:ManashRaja|Manash Pratim Das]] |
| | | |
| == Current status == | | == Current status == |
| | | |
− | * Targeted release: 0.98 | + | * Targeted release: 0.110 |
− | * Last updated: 2012-02-14 | + | * Last updated: 2016-04-18 |
− | * Percentage of completion: 95% | + | * Percentage of completion: 100% and merged |
| + | |
| + | Merged into something that will probably be 0.110 |
| | | |
| == Detailed Description == | | == Detailed Description == |
Line 22: |
Line 25: |
| Sugar and activities to use. While we'd like the system to work that all | | Sugar and activities to use. While we'd like the system to work that all |
| out automatically (e.g. using [https://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol WPAD]), this often isn't possible. Common | | out automatically (e.g. using [https://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol WPAD]), this often isn't possible. Common |
− | reasons include legacy ("inherited") setups and network uplinks simply being | + | reasons include legacy ("inherited") setups and network uplinks being |
− | out of control of the user respectively deployment. | + | out of control of the user. |
| | | |
| The existing Network Control Panel is enhanced by adding a new section for the | | The existing Network Control Panel is enhanced by adding a new section for the |
| proxy settings. For consistency between Sugar and Gnome, the basic layout of | | proxy settings. For consistency between Sugar and Gnome, the basic layout of |
| the Gnome 3 proxy settings has been mirrored: A combo box allows the user to | | the Gnome 3 proxy settings has been mirrored: A combo box allows the user to |
− | select how the proxy setting should be determined (None=direct connection, | + | select how the proxy setting should be determined (None=no proxy settings, |
− | Automatic=WPAD or PAC, Manual=enter host names and ports for each protocol). | + | Use system proxy=let proxy be set by other means, Automatic=WPAD or PAC, |
| + | Manual=enter host names and ports for each protocol). |
| Based on which method was selected, additional configuration options are | | Based on which method was selected, additional configuration options are |
| presented to the user. | | presented to the user. |
| | | |
− | The settings are stored via gconf, using the same keys as Gnome 2. | + | The settings are stored in 'GSettings' and passed to activities using the 'http_proxy' and similar variables. |
| | | |
| == Benefit to Sugar == | | == Benefit to Sugar == |
| | | |
− | See [[#Detailed Description|Detailed Description]].
| + | Widens the environment where Sugar may be used, by removing a reason why Sugar cannot be used in managed information technology environments. |
| | | |
| == Scope == | | == Scope == |
Line 43: |
Line 47: |
| Modifying the existing Network Control Panel. | | Modifying the existing Network Control Panel. |
| | | |
− | == UI Design == | + | == "Manual" mode== |
− | | |
− | The Feature adds a new section to the Network Control Panel.
| |
− | | |
− | [[File:Proxy-section-1.png|center|600px|Upper part of the Network Control Panel]]
| |
− | [[File:Proxy-section-2.png|center|600px|No proxy (direct connection)]]
| |
− | [[File:Proxy-section-3.png|center|600px|Automatic proxy selection (WPAD)]]
| |
− | [[File:Proxy-section-4.png|center|600px|Manual proxy settings (no authentication)]]
| |
− | [[File:Proxy-section-5.png|center|600px|Manual proxy settings (with authentication)]]
| |
− | | |
− | For comparison, this is what the Gnome 3 proxy settings dialog looks like:
| |
− | | |
− | [[File:Gnome-3-proxy-settings.png|600px]]
| |
− | | |
− | == How To Test ==
| |
− | | |
− | * Proxy configuration can be done in three ways:
| |
− | | |
− | ::: '''Explicit Proxy''' – A single proxy is specified in the browser with a literal proxy bypass list.
| |
− | ::: '''PAC File''' – The location of a PAC file is specified (e.g. hosted locally or on a web server) in the browser. The PAC file can provide proxy fail-over support, advanced proxy bypass support , and much more (see below).
| |
− | ::: '''WPAD''' – Only requiring a check box be selected in the browser, the browser may use DHCP or DNS in attempt to guess the location of the PAC file.
| |
− | | |
| | | |
− | * Go to mysettings | + | * Fill in the settings "manually", and restart when prompted so. |
| + | :[[File:Manual1-proxy.png|1200px]] |
| | | |
− | [[File:testproxysupport-mysettings.png|400px]]
| |
| | | |
| + | * Now open "www.google.com" shoud open. |
| + | :[[File:Google-proxy.png|1200px]] |
| | | |
− | * Click network button
| |
| | | |
− | [[File:testproxysupport-network.png|400px]]
| + | == Automatic mode - PAC== |
| | | |
| + | * Fill in the URL of the proxy-file, and restart when prompted so. |
| + | :[[File:Auto-proxy.png|1200px]] |
| | | |
− | * Select mode of proxy ( automatic / manual )
| |
| | | |
− | [[File:testproxysupport-modeview.png|400px]] | + | * Now open "www.google.com" shoud open. |
| + | :[[File:Google-proxy.png|1200px]] |
| | | |
| | | |
− | [[File:testproxysupport-modeselector.png|400px]]
| |
− |
| |
− |
| |
− | * Manual mode
| |
− |
| |
− | [[File:testproxysupport-form.png|400px]]
| |
| | | |
| | | |
Line 92: |
Line 72: |
| | | |
| * Motive | | * Motive |
− | ** To provide proxy-configuration, without needing the client-user to enter the location of proxy-configuration file herself. | + | ** To provide proxy-configuration, without needing the client-user |
| + | *** to manualyy enter the proxy-settings ('''Manual''' mode) |
| + | *** to manually enter the location of proxy-configuration file herself ('''Automatic (PAC)''' mode). |
| | | |
| | | |
| * Benefits | | * Benefits |
− | ** By not needing the client-user to manually specify the proxy-configuration file, every client-user is saved a headache :) Instead, all the configuration is done via a network-administrator, on the server-side. | + | ** By not needing the client-user to manually specify the settings, every client-user is saved a headache :) Instead, all the configuration is done via a network-administrator, on the server-side. |
| ** By delegating the responsibility of specifying every proxy-rule (even the proxy-configuration file) to the network-administrator, security is increased dramatically. | | ** By delegating the responsibility of specifying every proxy-rule (even the proxy-configuration file) to the network-administrator, security is increased dramatically. |
| | | |
| | | |
| * Notes | | * Notes |
− | ** Setting this particular mode( (Automatic Proxy) is quite complicated; and many possibilities exist. '''However, the bottom-rule is, client should himself not need to specifiy the location of proxy-configuration file as per say'''. | + | ** Setting this particular mode ('''Automatic-WPAD''' Proxy) is quite complicated; and many possibilities exist. '''However, the bottom-rule is, client should himself not need to specifiy the location of proxy-configuration file as per say'''. |
| | | |
| | | |
| * Testing (one of the possible ways :) ) | | * Testing (one of the possible ways :) ) |
− | ** To verify that current dextrose-4 supports Auto-WPAD mode, we test using the method, as per the following 4 requirements, as listed at http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol#Requirements :: | + | ** '''(For those not interested in the technicalities, please proceed to the next bullet :D)''' To verify that current dextrose-4 supports Auto-WPAD mode, we test using the method, as per the following 4 requirements, as listed at http://en.wikipedia.org/wiki/Web_Proxy_Autodiscovery_Protocol#Requirements :: |
| ***In order to use the DNS only method, a DNS entry is needed for a host named WPAD. | | ***In order to use the DNS only method, a DNS entry is needed for a host named WPAD. |
| ***The host at the WPAD address must be able to serve a Web page. | | ***The host at the WPAD address must be able to serve a Web page. |
Line 113: |
Line 95: |
| | | |
| * Select "Automatic" mode in "My Settings" -> "Proxy" (without specifying anything else), and restart when prompted so. | | * Select "Automatic" mode in "My Settings" -> "Proxy" (without specifying anything else), and restart when prompted so. |
− | :[[File:proxy1.png|640px]] | + | :[[File:Wpad-proxy.png|1200px]] |
| | | |
| | | |
Line 122: |
Line 104: |
| | | |
| | | |
− | * '''Open "Browse", and type in "www.google.com". You should be prompted for credentials (as is required by the WPAD-configuration-file at build.activitycentral.com''' | + | * Open "Browse", and type in "www.google.com". You should be prompted for credentials (suppose as required by the WPAD-configuration-file) |
| | | |
| :[[File:proxy2.png|640px]] | | :[[File:proxy2.png|640px]] |
Line 132: |
Line 114: |
| | | |
| * The page opens successfully. | | * The page opens successfully. |
− | :[[File:proxy4.png|640px]] | + | :[[File:Google-proxy.png|1200px]] |
− | | |
− | | |
− | * Next, type "www.facebook.com"; the "Access Denied" page is shown instantaneously, as per the rule in the WPAD-configuration-file at build.activitycentral.com
| |
− | :[[File:proxy5.png|640px]]
| |
− | | |
− | =Automatic mode - WPAD=
| |
− | | |
− | | |
− | | |
− | [[File:testproxysupport-wpad.png|400px]]
| |
− | | |
− | [http://wiki.sugarlabs.org/go/Features/Automatic_Proxy_Settings#WPAD_-_Web_Proxy_Autodiscovery WPAD Web Proxy AutoDiscovery]
| |
− | | |
− | | |
− | * Open Browse activity with a white-listed page ( google.com in this example )
| |
− | | |
− | [[File:testproxysupport-google.png|400px]]
| |
| | | |
| + | ==Settings verification== |
| | | |
− | * Open Browse activity with a black-listed page ( facebook.com in this example ) | + | The proxy settings entered by user are verified before saving to prevent accidental change in proxy settings. |
| + | * For "manual" type the proxy host addresses are pinged to check for their existence. |
| + | * For "auto" type the existence of the *.pac file is checked. |
| + | If the above verification fails then the user is prompted with an alert message and option to either "Break the Internet connection" or "Reset". |
| | | |
− | [[File:testproxysupport-facebook.png|400px]] | + | * Manual proxy verification failed: |
| + | :[[File:Manual-proxy-error.png|640px]] |
| | | |
− | :: NOTE: The proxy setup will persist even if a user switches to Gnome Desktop, because the way it is setup, is the natural way gnome does too ( GCONF ) | + | * Auto proxy verification failed: |
| + | :[[File:Auto-proxy-error.png|640px]] |
| | | |
| == User Experience == | | == User Experience == |