Metadata-Version: 2.1
Name: django-thvapp
Version: 1.1.2
Summary: A simple django app to use thuri web visual apps
Home-page: https://www.nscc-tj.cn
Author: Tianyang
Author-email: tianyang@nscc-tj.cn
License: BSD License
Description: =======
        thvapp
        =======
        
        thvapp is a remote visual application plugin to th system on novnc  
        
        thvapp used in iframe in django template
        
        detail documentation is in the "docs" directory
        
        Quick start
        
        -----------
        
        1. pip install django-thvapp
        
        2. Add "thvapp" to your INSTALLED_APPS setting like this::
        
            INSTALL_APPS = [
                ...
                'thvapp',
            ]
        
        3. Include the thvapp URLconf in your project urls.py like this::
            
            from thvapp import urls as thVAppsUrls
            urlpatterns = [...] + thVAppsUrls.urlpatterns,
        
        4. Set IFrame Option in settings.py like this:
            X_FRAME_OPTIONS = 'ALLOWALL'
        
        5. Add the thvapp in your html tempalte by iframe like this:
            
            1)、add path in project urls like this:
                path('vapps/', main.vApps),
            2)、in main views.py:
                @login_required
                def vApps(request):
        		
        		  return render(request,'vapps.html',{})
            3)、write the xterm.html tempalte file like:
                ...
                <div class="page-row"><iframe id="webthvisual" src="/thva/apps#/applist" frameborder="0" width="100%" style="min-height: 82vh" scrolling="yes"></iframe>
                </div>
                ...
        
        6. Setup thuri appid and appid in settings.py like this；
            THTERMCONF = {
                'server':'{ visual<shell> backend server }',
                'appid':'{appid}',
                'appkey':'{appkey}'
        		
            }
            TH_VISUALAPP_CONFIG = {
                
        		'VAPP_BACKEND_HOST':'{ visualbackend server }',
        		
                'VAPP_BACKEND_APPID':'{ appid }',
        		
                'VAPP_BACKEND_APPKEY':'{appkey}',
        		
                'VAPP_DEFAULT_IMGAGE_URL':'/media/visual.png', # default image url in front page 
                'FOOTER_HEIGHT':70,  # your iframe's parent page's footer height
                'SCREEN_RATIO':16 / 9,  # if you want to set the remote screen ratio
                'VAPP_ICONS':{
        		
                    '{thcluster1}':{"app1": {"video": "app1 image url"}, "app2": {"video": "{app2 video url}"}, ...}
                
        		} # vapp icons (image or video) you can get th visual applications from THVisual client SDK then config your own icons in settings or database
            
        	}
            
        7. Add th user 、cluster and visual applications' icons to session when user login like this:
            request.session["systemUsername"] = "{thsystem user name}"
            request.session["cluster] = "{thcluster1}"
            request.session["vapp_icons"] = json.dumps(settings.TH_VISUALAPP_CONFIG.get('VAPP_ICONS'))
        	
        8. Use nginx proxy the porject port like this:
             server {
                listen       80;
                server_name  _;
        		
        		port_in_redirect off;
        
                location /visual/ {
                    proxy_pass { visualbackend server }
        
                    proxy_http_version 1.1;
                    proxy_read_timeout 600s;
                    proxy_redirect off;
                    proxy_set_header Upgrade $http_upgrade;
                    proxy_set_header Connection "upgrade";
                    proxy_set_header Host $host:$server_port;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header REMOTE-HOST $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        			
                }
        
                location / {
                    proxy_set_header  Host  $host;
                    proxy_set_header  X-real-ip $remote_addr;
                    proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
                    proxy_pass { django server:port };
        			
                }
            
        9. Start the development server and visit http://yourhost:80/vapps/ you will see the web term
Platform: UNKNOWN
Classifier: Framework :: Django
Classifier: Framework :: Django :: 2.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Description-Content-Type: text/x-rst
