Terms&cond: url available /portal/terms
authorYasin <mohammed-yasin.rahman@lip6.fr>
Tue, 24 Jun 2014 13:56:26 +0000 (15:56 +0200)
committerYasin <mohammed-yasin.rahman@lip6.fr>
Tue, 24 Jun 2014 13:56:26 +0000 (15:56 +0200)
portal/templates/registration_view.html
portal/templates/termsview.html [new file with mode: 0644]
portal/termsview.py [new file with mode: 0644]
portal/urls.py

index 3ab8efc..b6635ce 100644 (file)
                                </div>
                                <div class="modal-body">
                                                <p align="left">
-                                       TERMS AND CONDITIONS
+                                               <a href="/portal/terms" target="_blank">TERMS AND CONDITIONS</a>
                                        <br/>
                                        for OneLab Basic level service
                                        <br/>
     Users who seek such guarantees are invited to consider a higher level of service.
 </p>
 <h2 align="left">
-    <a name="_Toc261537715">2.3 Limited</a>
-    liability
+    2.3 Limitedliability
 </h2>
 <p align="left">
     In no event shall the partners of the OneLab consortium be liable to any user for any consequential, incidental, punitive, or lost profit damages, or for
diff --git a/portal/templates/termsview.html b/portal/templates/termsview.html
new file mode 100644 (file)
index 0000000..d89e8fb
--- /dev/null
@@ -0,0 +1,395 @@
+{% extends "layout.html" %}
+
+{% block content %}
+<div class="row">
+       <div class="col-md-12">
+       <h1> Terms and conditions</h1>
+       <p align="left">
+    <a name="_Ref238698453"></a>
+    <a name="_Ref238699060"></a>
+    <a name="_Ref249598367"></a>
+    <a name="_Ref254443731"></a>
+    <a name="_Ref254443916"></a>
+    TERMS AND CONDITIONS
+    <br/>
+    for OneLab Basic level service
+    <br/>
+    Version 0.6 of 20 May 2014
+</p>
+<h1 align="left">Context</h1>
+<h2 align="left">
+    1.1 OneLab
+</h2>
+<p align="left">
+    OneLab is an experimental facility for testing new ideas and new technologies in the area of computer networking. It consists of a variety of types of
+    platforms, including:
+</p>
+<ul type="disc">
+    <li>
+        <strong>internet overlay testbeds</strong>
+        , testbeds that offer virtual machines distributed across locations in different countries, allowing users to deploy overlays on the internet;
+    </li>
+    <li>
+        <strong>wireless testbeds</strong>
+        , testbeds that consist of clusters of computers that are within Wi-Fi communication range of each other, either in an office environment or in an
+        isolated setting;
+    </li>
+    <li>
+        <strong>internet of things testbeds</strong>
+        , testbeds that consist of embedded computing nodes with sensor capabilities, communicating wirelessly in an isolated environment;
+    </li>
+    <li>
+        <strong>emulation testbeds,</strong>
+        computing clusters that offer virtual machines on servers that are interconnected by a high speed switch, enabling large scale network emulation.
+    </li>
+</ul>
+<p align="left">
+    This list of types of platforms is subject to change, and the current list, along with the identities of the specific platforms of each type, can be found
+    on the OneLab website (onelab.eu).
+</p>
+<p align="left">
+    Each platform has its own owners, and OneLab is the grouping of these platforms through a consortium of institutions. The OneLab consortium is coordinated
+    by UPMC Sorbonne Universités. It operates on a not-for-profit basis.
+</p>
+<p align="left">
+    Access to OneLab may also provide access to additional platforms that are not part of OneLab, due to a federation agreement between OneLab and the owners
+    of those platforms.
+</p>
+<h2 align="left">
+    1.2 Fee-free Basic level service
+</h2>
+<p align="left">
+    These terms and conditions define and apply to OneLab's Basic level service, which is available free of charge.
+</p>
+<p align="left">
+    Users who would like additional services are encouraged to contact support@onelab.eu. Some additional services require a written agreement, but are
+    otherwise free. Others require the payment of fees or in-kind contributions. (An example of an in-kind contribution is the hosting of a PlanetLab Europe
+    server node.)
+</p>
+<h2 align="left">
+    1.3 Managers and standard users
+</h2>
+<p align="left">
+    There are two classes of OneLab user: the manager and the standard user. OneLab grants access rights to managers, who, in turn, provide access rights to
+    standard users. Examples are: for a small enterprise, an executive may be the manager and the employees may be standard users; for a research team, a
+    senior scientist (faculty member or research scientist) may be a manager and doctoral students and other members of the team may be standard users; for a
+    university course, a professor may be a manager and the students may be standard users.
+</p>
+<h2 align="left">
+    1.4 These terms and conditions
+</h2>
+<p align="left">
+    Acceptance of these terms and conditions is a condition of obtaining OneLab Basic level user service. They are posted to the OneLab portal site
+    (portal.onelab.eu). They may be changed without other notice than the posting of a new version to the portal site.
+</p>
+<h1 align="left">
+    2 Services provided by OneLab
+</h1>
+<h2 align="left">
+    2.1 Access to the experimental facility
+</h2>
+<p align="left">
+    OneLab provides users with access to the platforms that make up the experimental facility. Each platform owner determines the specifics of this access (for
+    example, how many nodes are available to a user, what happens in case of oversubscription, etc.), with the proviso that Basic level service requires that
+    users be able to conduct meaningful experiments on every OneLab testbed.
+</p>
+<p align="left">
+    Basic level service may also provide access to platforms that are federated with OneLab, but such access depends upon the terms of the federation
+    agreements with those platforms, which may require that the user have a higher level of service in order to gain access. For example, Basic level service
+    provides access to PlanetLab Europe, a OneLab platform, without providing access to PlanetLab Central, a federated platform. Users wanting full access
+    across the global PlanetLab system should contact support@onelab.eu to arrange to enter into a PlanetLab Europe membership agreement.
+</p>
+<p align="left">
+    OneLab's role is to facilitate access to the platforms. Specifically, it provides each user with:
+</p>
+<ul>
+    <li align="left">
+        <strong>a single account,</strong>
+        the credentials for which can be used to access all of the OneLab testbeds;
+    </li>
+    <li align="left">
+        <strong>tools through which to access the testbeds</strong>
+        , including, notably, a web-based portal (portal.onelab.eu) that allows a user to see the resources available on each testbed and to reserve them,
+        along with a number of experiment control tools that a user can employ to deploy an experiment on those resources;
+    </li>
+    <li align="left">
+        <strong>support</strong>
+        , with documentation on how to use the tools, pointers to documentation for individual testbeds, and a helpdesk to respond to user questions.
+    </li>
+</ul>
+<p align="left">
+    Additional support, such as accompaniment through the design and deployment of experiments and the interpretation of their results, is available through
+    higher levels of service.
+</p>
+<h2 align="left">
+    2.2 Best effort, without guarantees
+</h2>
+<p align="left">
+    OneLab and the owners of the individual OneLab testbeds do their best to provide the services outlined here, with the understanding that Basic level
+    service offers no guarantees. Users should clearly understand the following limitations.
+</p>
+<ul type="disc">
+    <li>
+        <strong>Reliability:</strong>
+        OneLab does not provide any guarantees with respect to the reliability of the portal, of other tools, or of the individual nodes on platforms. These
+        may be taken down for maintenance, rebooted, or reinstalled at any time. Reinstallation implies that disks are wiped, meaning that users should not
+        consider a local disk to be a persistent form of storage.
+    </li>
+    <li>
+        <strong>Fitness:</strong>
+        OneLab does not guarantee that the platforms are suitable for the experiments that users intend to conduct. There may be limitations in the
+        technologies that are offered that prevent certain types of experiments from being carried out.
+    </li>
+    <li>
+        <strong>Privacy</strong>
+        : OneLab does not guarantee the privacy of traffic generated on the platforms (e.g., wireless signals, packets). Unless otherwise specified by an
+        individual platform owner, users should assume that traffic is monitored and logged. Such monitoring may be done intentionally, for example, to allow
+        platform administrators as well as other users to investigate abuse.
+    </li>
+</ul>
+<p align="left">
+    Users who seek such guarantees are invited to consider a higher level of service.
+</p>
+<h2 align="left">
+    2.3 Limitedliability
+</h2>
+<p align="left">
+    In no event shall the partners of the OneLab consortium be liable to any user for any consequential, incidental, punitive, or lost profit damages, or for
+    any damages arising out of loss of use or loss of data, to the extent that such damages arise out of the activities of OneLab consortium partners, or any
+    breach of the present terms and conditions, even if the consortium partner has been advised of the possibility of such damages.
+</p>
+<p align="left">
+    Nothing contained in these terms and conditions shall be deemed as creating any rights or liabilities in or for third parties who are not Basic level users
+    of OneLab.
+</p>
+<h1 align="left">
+    3 Acceptable use policy
+</h1>
+<h2 align="left">
+    3.1 Responsibilities of managers and standard users
+</h2>
+<p align="left">
+    OneLab creates and administers accounts for managers and delegates to managers the responsibility for creating and administering accounts for standard
+    users. Both managers and standard users are required to follow OneLab's acceptable use policy. In addition, managers are fully responsible for the
+    activities of the standard users whose accounts they create.
+</p>
+<p align="left">
+    A manager is expected to grant user access only an individual with whom he or she has a working relationship. In general, this means an individual who
+    works for the same institution as the manager, or, in the case of higher education and research, an individual who is a student at the university where the
+    manager works. Managers may also grant access to individuals from other institutions, provided that they are collaborating on a common project on OneLab.
+    If there is a doubt, a manager should refer the question to support@onelab.eu.
+</p>
+<h2 align="left">
+    3.2 Types of use
+</h2>
+<p align="left">
+    OneLab may be used by enterprise, by scientific researchers, and by educators.
+</p>
+<p align="left">
+    OneLab may be used for pre-commercial research and development. In keeping with OneLab's not-for-profit status, it may not be used to deploy services that
+    are designed to generate a commercial profit.
+</p>
+<p align="left">
+    Not-for-profit use of OneLab to deploy services that are designed to generate revenue requires prior approval through a written agreement, and thus may not
+    be carried out on a Basic level account. Interested users are invited to contact support@onelab.eu.
+</p>
+<p align="left">
+    OneLab may be used for scientific research.
+</p>
+<p align="left">
+    OneLab may be used to host lab exercises for university courses.
+</p>
+<p align="left">
+    Questions about other types of use should be addressed to support@onelab.eu.
+</p>
+<h2 align="left">
+    3.3 Applicable laws and regulations
+</h2>
+<p align="left">
+    OneLab is managed, and the portal is hosted, in France. Information regarding the countries in which individual testbeds are managed and hosted is
+    available from those testbeds. Users are responsible for being aware of the countries in which their experiments are deployed and for ensuring that their
+    use of OneLab fully conforms to the laws and regulations of those countries, as well as the laws and regulations of the country in which they themselves
+    are present when conducting their experiments.
+</p>
+<p align="left">
+    Above and beyond specific national laws, the activities email spamming, phishing through web services, and all types of Internet fraud are prohibited on
+    OneLab.
+</p>
+<h2>
+    3.4 Security and accounting mechanisms
+</h2>
+<p align="left">
+    Users are expected to respect the security and accounting mechanisms put in place by OneLab, its platforms, and federated platforms. For example, access to
+    PlanetLab Europe is designed to take place through the SSH cryptographically-secured connection protocol, which uses public/private key pair
+    authentication, and so users should not attempt to bypass this mechanism. As another example, OneLab's notion of a "slice" associates a set of resources
+    with the group of users who have reserved those resources, and users should not attempt to obscure the identities of participants in a slice.
+</p>
+<p align="left">
+    Hacking attempts against the OneLab portal and testbeds are not permitted. This includes "red team" (hacker test) experiments.
+</p>
+<h2>
+    3.5 Sharing of resources
+</h2>
+<p align="left">
+    OneLab is intended for ambitious experiments. Large numbers of resources and extended leases on resources may legitimately be granted in order to carry
+    these out. At the same time, OneLab and its testbeds are shared environments, and when there is contention for resources, limits must be imposed.
+</p>
+<p align="left">
+    Each OneLab platform sets its own policies for handling resource contention. As a general rule, users are encouraged to design their experiments to use
+    resources efficiently. In particular, spinning/busy-waiting techniques for extended periods of time are strongly discouraged. Some resource contention
+    policies (e.g., PlanetLab Europe's) terminate the jobs that are using the most resources in the case of contention.
+</p>
+<h2>
+    3.6 Internet-connected platforms
+</h2>
+<p align="left">
+    Some of OneLab's platforms allow experiments to take place on resources that have access to the public internet. These experiments can potentially generate
+    traffic to, and receive traffic from, any host or router in the internet.<a></a><a id="_anchor_1" href="#_msocom_1" name="_msoanchor_1">[LB1]</a>
+</p>
+<p align="left">
+    Furthermore, some internet-connected platforms (e.g., PlanetLab Europe) consist of servers that are hosted by a large number of member institutions.
+</p>
+<p align="left">
+    The accessibility of internet-connected platforms and the distributed hosting model of some of these platforms imply certain responsibilities on the part
+    of users, as detailed below.
+</p>
+<h3>
+    3.6.1 General guidance
+</h3>
+<p align="left">
+    A good litmus test when considering whether an experiment is appropriate for such internet-connected platforms is to ask what the network administrator at
+    one's own organisation would say about the experiment running locally. If the experiment disrupts local activity (e.g., uses more than its share of the
+    site's internet bandwidth) or triggers complaints from remote network administrators (e.g., performs systematic port scans), then it is not appropriate for
+    such internet-connected platforms.
+</p>
+<p align="left">
+    It is the responsibility of the user and the user's manager to ensure that an application that will run on an internet-connected platform is tested and
+    debugged in a controlled environment, to better understand its behaviour prior to deployment.
+</p>
+<h3>
+    3.6.2 Standards of network etiquette
+</h3>
+<p align="left">
+    Internet-connected platforms are designed to support experiments that generate unusual traffic, such as network measurements. However, it is expected that
+    all users adhere to widely accepted standards of network etiquette in an effort to minimise complaints from network administrators. Activities that have
+    been interpreted as worm and denial-of-service attacks in the past (and should be avoided) include sending SYN packets to port 80 on random machines,
+    probing random IP addresses, repeatedly pinging routers, overloading bottleneck links with measurement traffic, and probing a single target machine from
+    many nodes.
+</p>
+<p align="left">
+    For internet-connected platforms that have a distributed hosting model, each host institution will have its own acceptable use policy. Users should not
+    knowingly violate such local policies. Conflicts between local policies and OneLab's stated goal of supporting research into wide-area networks should be
+    brought to the attention of OneLab administrators at support@onelab.eu.
+</p>
+<h3>
+    3.6.3 Specific network usage rules
+</h3>
+<p align="left">
+    It is not allowed to use one or more nodes of an internet-connected platform to generate a high number of network flows or flood a site with high traffic
+    to the point of interfering with its normal operation. Use of congestion-controlled flows for large transfers is highly encouraged.
+</p>
+<p align="left">
+    It is not allowed to perform systematic or random port or address block scans from an internet-connected platform.
+</p>
+<p align="left">
+    For internet-connected platforms that use a distributed hosting model, it is not allowed to spoof or sniff traffic on a hosted server or on the network the
+    server belongs to.
+</p>
+<p align="left">
+    Access to a server on a distributed hosting platform may not be used to gain access to other servers or networked equipment that are not part of the
+    testbed.
+</p>
+<h2>
+    3.7 Wireless platforms
+</h2>
+<p align="left">
+    Wireless-connected platforms give users access to nodes that communicate via Wi-Fi and other wireless technologies. They may be capable of detecting
+    wireless activity in the neighbourhood of those nodes: traffic generated by other users of the platform or by individuals not associated with the platform.
+    In general, much of the traffic will be encrypted, with certain aspects (such as SSIDs) not encrypted, but it is also possible that there will be fully
+    unencrypted traffic. They may also be capable of generating wireless activity that reaches equipment outside of the testbed.
+</p>
+<p align="left">
+    Furthermore, some wireless-connected platforms may have built-in limitations to prevent them from generating signals at a strength that exceeds health and
+    safety regulations.
+</p>
+<p align="left">
+    These characteristics of wireless-connected platforms imply certain responsibilities on the part of users, as detailed below.
+</p>
+<h3>
+    3.7.1 Specific network usage rules
+</h3>
+<p align="left">
+    Experimenters may make no attempt to defeat the encryption of encrypted third-party traffic. Furthermore, experimenters must treat with utmost discretion
+    any unencrypted traffic. Limited metadata can be recorded for the bona fide purposes of an experiment, but under no case should third party communications
+    be recorded.
+</p>
+<p align="left">
+    No attempt may be made to reverse engineer traffic in order to learn the identities of the parties who have generated the traffic.
+</p>
+<p align="left">
+    Wireless-connected platforms may not be used to gain access to any network equipment that is not part of the testbed itself.
+</p>
+<p align="left">
+    It is not allowed to perform systematic or random scans of wireless networks that are not part of a wireless-connected platform. Similarly, it is not
+    allowed to spoof or sniff wireless traffic of the institution that hosts a wireless-connected platform or of other networks in the proximity.
+</p>
+<p align="left">
+    Care must be taken so that traffic on wireless-connected platforms does not interfere with the normal functioning of network equipment that is not part of
+    the testbed itself.
+</p>
+<p align="left">
+    No attempt may be made to defeat the mechanisms that limit signal strength on wireless-connected platforms.
+</p>
+<h2>
+    3.8 Handling suspected violations
+</h2>
+<p align="left">
+    Suspected violations of the OneLab acceptable use policy should be reported to support@onelab.eu.
+</p>
+<p align="left">
+    Upon notification or detection of a possible violation, OneLab management will attempt to understand if a violation has in fact occurred. To do so,
+    management will freely communicate with the users concerned, the operators of the platforms concerned, as well as any third parties that might be involved.
+    An example of a third party is a network operator who detects what they believe to be unauthorized traffic emanating from a OneLab platform.
+</p>
+<p align="left">
+    The priority is to resolve any real or apparent violations amicably. However, if OneLab management believes that a violation may have occurred, it can, at
+    its sole discretion, and without prior notice, apply any of the following measures:
+</p>
+<ul type="disc">
+    <li>
+        notification of the users of the concerned slice (set of resources);
+    </li>
+    <li>
+        disabling of the concerned slice;
+    </li>
+    <li>
+        disabling an individual user's account;
+    </li>
+    <li>
+        reporting of the user's activity to his/her manager;
+    </li>
+    <li>
+        disabling of the manager's account and all user accounts for which the manager is responsible;
+    </li>
+    <li>
+        disabling of all accounts associated with the user's institution.
+    </li>
+</ul>
+<p align="left">
+    In the case of suspected illegal activity, OneLab management might need, without prior notice, to notify the relevant authorities.
+</p>
+<div>
+    <div>
+        <div id="_com_1">
+        </div>
+    </div>
+</div> 
+</div>
+</div>
+<div class="row">
+       <div class="col-md-12">
+
+</div>
+</div>
+{% endblock %}
+
diff --git a/portal/termsview.py b/portal/termsview.py
new file mode 100644 (file)
index 0000000..1705369
--- /dev/null
@@ -0,0 +1,51 @@
+# this somehow is not used anymore - should it not be ?
+from django.core.context_processors import csrf
+from django.http import HttpResponseRedirect
+from django.contrib.auth import authenticate, login, logout
+from django.template import RequestContext
+from django.shortcuts import render_to_response
+from django.shortcuts import render
+
+from unfold.loginrequired import FreeAccessView
+
+from manifoldapi.manifoldresult import ManifoldResult
+from ui.topmenu import topmenu_items, the_user
+from myslice.configengine import ConfigEngine
+
+from myslice.theme import ThemeView
+
+class TermsView (FreeAccessView, ThemeView):
+    template_name = 'termsview.html'
+        
+    # expose this so we can mention the backend URL on the welcome page
+    def default_env (self):
+        return { 
+                 'MANIFOLD_URL':ConfigEngine().manifold_url(),
+                 }
+
+    def post (self,request):
+        env = self.default_env()
+        env['theme'] = self.theme
+        return render_to_response(self.template, env, context_instance=RequestContext(request))
+
+    def get (self, request, state=None):
+        env = self.default_env()
+
+        if request.user.is_authenticated(): 
+            env['person'] = self.request.user
+        else: 
+            env['person'] = None
+    
+        env['theme'] = self.theme
+        env['section'] = "About"
+
+        env['username']=the_user(request)
+        env['topmenu_items'] = topmenu_items(None, request)
+        if state: env['state'] = state
+        elif not env['username']: env['state'] = None
+        # use one or two columns for the layout - not logged in users will see the login prompt
+        env['layout_1_or_2']="layout-unfold2.html" if not env['username'] else "layout-unfold1.html"
+        
+        
+        return render_to_response(self.template, env, context_instance=RequestContext(request))
+
index 157c6dd..e6e63e6 100644 (file)
@@ -42,7 +42,7 @@ from portal.joinview                import JoinView
 from portal.sliceviewold            import SliceView
 from portal.validationview          import ValidatePendingView
 #from portal.experimentview         import ExperimentView
-
+from portal.termsview               import TermsView
 from portal.univbrisview            import UnivbrisView
 
 from portal.servicedirectory         import ServiceDirectoryView
@@ -93,6 +93,7 @@ urlpatterns = patterns('',
     #url(r'^pass_reset/?$', PassResetView.as_view(), name='pass_rest'),
     # Slice request
     url(r'^slice_request/?$', SliceRequestView.as_view(), name='slice_request'),
+    url(r'^terms/?$', TermsView.as_view(), name='terms'),
     # Validate pending requests
     url(r'^validate/?$', ValidatePendingView.as_view()),
     # http://stackoverflow.com/questions/2360179/django-urls-how-to-pass-a-list-of-items-via-clean-urls