Giter VIP home page Giter VIP logo

xibo's Introduction

Xibo - Digital Signage

CMS downloads

Windows Player

About Xibo

Xibo is a powerful Open Source Digital Signage platform with a web content management system and Windows display player software. We have commercial player options for Android, LG webOS and Samsung Tizen, as well as CMS hosting and support.

See https://xibosignage.com for more information.

Our first open source release 1.0.0-rc1 landed in 2009, and we're committed to keeping everything you need to run a digital signage network, or single screen, open source and free to use.

Licence

Licence

Copyright (C) 2006-2023 Xibo Signage Ltd and Contributors.

Xibo is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.

Xibo is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License along with Xibo. If not, see http://www.gnu.org/licenses/.

Documentation

We have 3 types of documentation available to suit the audience:

Community

If you are looking for somewhere to discuss Xibo or ask about something that is not a verified bug, please head over to our Community Discussion Page.

Releases

Release of our open source software are all published here on GitHub along with the source code. You can find them in their respective repositories.

Repositories

This software is split across several repositories which mirror the different software components.

There is:

Contributing

We would be delighted to accept contributions to the project - please refer to CONTRIBUTING.md for further information.

Sponsorship

We've built commercial products and services on top of our open source project. If you want to support our work the best way is to become a customer. We're committed to keeping our project open source either way!

xibo's People

Contributors

ajiwo avatar alexharrington avatar andyrogers2012 avatar dasgarner avatar fogsag avatar jasoncook599 avatar jimmy89 avatar kermorgant avatar kischulte avatar laercionit avatar lukyluke avatar marclaporte avatar maurofmferrao avatar medusadelft avatar michaelhoughton avatar moobyfr avatar pthongtaem avatar speedy-gonzalez avatar xcuocao avatar zoranit avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xibo's Issues

Layout export includes cached module resources

Modules can now cache library resources (typically images) as "module" typed media in the library. They are invisible to the user and specific to the CMS.

The Layout Export should not include these in the export ZIP (they cannot be imported).

More advanced scheduling options

Such as:

  • Ability to delete a single occurrence of a repeating event
  • Ability to pick the days of the week that the event should repeat over
  • Ability to schedule an event "indefinitely"
  • Ability to repeat an event "indefinitely"

Many of these have been done already - but the first one is still valid.

Open Video Capture Device, such as TV ISDB-T Receiver

Open TV ISDB-T Receiver

There are many softwares on the market that have content management and inclusion of broadcast TV on your schedule. If we use a USB Digital TV receiver in android, we could view the contents with broadcast TV.

This innovation already present in some other products and market software.

Error on mysql database creation (xibo cms 1.7 rc1)

Hi,

I use the following setup:

  • Windows 7 Pro 32 bit
  • IIS 7
  • PHP 5.3.9 (max execution time 300)
  • MySQL 5.6

during Xibo 1.7-rc1 installation I get the following error:

An error occurred populating the database. Statement number: 89. Error Message = [SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'userChange' at row 26]

I deleted the database several times and retried the installation, the result is always the same.

I would be very thankful for any help,

Carsten

Windows Player Out of Memory Errors

This is my first bug reported, so I don't know all the information to include. I'll start with the basics. I have two identical Win 7 PCs driving TVs created from the same image. Both are using the same Xibo profile, and currently using the embedded Chrome browser (which is much more stable than not using it). One of the PCs Xibo client crashes multiple times a day, even after a full reboot.

The content is simple and is shown below. I moved from 1.6 to 1.7 because of similar problems, but they were more widespread. In general, 1.7 is better and I do like the improvements. Not all functions work, but that's a topic for a different bug report.

Please let me know what other information to include. I would have given the crash report, but don't have a live crash right now. I should have one by the end of the day based on the current rate.

I did turn off double buffering, which was on when I got crashes.

----Content---
1 web page:
http://forecast.weather.gov/MapClick.php?lat=37.95695757962966&lon=-84.47169632352575&site=all&smap=1#.VL1nA2TF-nA

and two embedded links that are form the same site, different pages:

<center>
<font size="8" color = "cyan">
<P> <P>
<P> <P>
<P> <P>

<script type="text/javascript" src="http://www.brainyquote.com/link/quotefu.js"></script>
<P> <P>
</font>

</center>

API code uses DOMElement as its base currency, should really be using Array

Found during the course of investigation on #24.

The API uses DOMElement to pass between the base class and the class responsible for formatting the response to either json or xml.

At present the code incorrectly expects different parameters to the same overridden methods (json expects arrays and xml expects DOMElements).

The base currency should really be an array, meaning json responses can be json_encoded straight out the gate, and XML responses can be array to XML conversions (which is easy).

People Counter

People Counter

I believe this is a trend in the market, integrate the system to a counter of people who went and looked at the display.

We could have a WebCam, connected to android. The software android would have the option to enable Track People. If enabled, select the webcam.

This information is valuable, could be presented in Statistics, part of the Layout or Display.

Not complex but has a potential for the market.

I hope you like the idea DAN.

Define an Image Sampling Policy to be applied on upload

Uploaded images are often have dimensions that are far too large or a high DPI which pushes up network usage across the platform and resource usage on the player.

It would be useful to have an image sampling policy that pre-sampled the image (on upload) to take its size and DPI to a pre-determined level.

OAuthRequestVerifier::requestIsSigned() failing in API rest call in 1.7.0

Hey Dan

Found another interesting one. This worked fine in Version 1.6.x, but applyiing the same request in 1.7 is giving a "Not signed." error.

The problem seems to be related to the OAuthRequestVerifier::requestIsSigned() method - which appears to be returning false.

I have successfully connected to the API - the server token is active etc.

In 1.6, I would pass the following to the API:

OAuthRequester Object
(
[files:protected] => 
[request:protected] => 
[store:protected] => OAuthStorePDO Object
    (
        [conn:OAuthStorePDO:private] => PDO Object
            (
            )

        [lastaffectedrows:OAuthStorePDO:private] => 
        [max_timestamp_skew:protected] => 600
        [max_request_token_ttl:protected] => 3600
    )

[usr_id:protected] => 0
[signed:OAuthRequestSigner:private] => 
[realm:protected] => 
[param:protected] => Array
    (
        [service] => rest
        [method] => LayoutList
        [response] => json
    )

[uri_parts:protected] => Array
    (
        [scheme] => http
        [host] => 360ds2.localhost
        [path] => /xibo-cms/services.php
        [port] => 80
        [user] => 
        [pass] => 
        [query] => 
        [fragment] => 
    )

[uri:protected] => http://360ds2.localhost/xibo-cms/services.php
[headers:protected] => Array
    (
        [Accept] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
        [Accept-Encoding] => gzip, deflate
        [Accept-Language] => en-US,en;q=0.5
        [Cache-Control] => max-age=0
        [Connection] => keep-alive
        [Cookie] => CAKEPHP=bjcb1oigc9pfuidf2jb5car5o4; PHPSESSID=0r21b2ghfgeq5m9rlfmhjf2m95; CakeCookie[lang]=en; CakeCookie[userId]=6; CakeCookie[role]=1; CakeCookie[system_type]=0; CakeCookie[datasets_name]=Hantera+data
        [Host] => 360ds2.localhost
        [Referer] => http://360ds2.localhost/admin
        [User-Agent] => Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0
    )

[method:protected] => GET
[body:protected] => 
)

This would work fine in 1.6

In 1.7, I am passing the following:

OAuthRequester Object
(
[files:protected] => 
[request:protected] => 
[store:protected] => OAuthStorePDO Object
    (
        [conn:OAuthStorePDO:private] => PDO Object
            (
            )

        [lastaffectedrows:OAuthStorePDO:private] => 
        [max_timestamp_skew:protected] => 600
        [max_request_token_ttl:protected] => 3600
    )

[usr_id:protected] => 0
[signed:OAuthRequestSigner:private] => 
[realm:protected] => 
[param:protected] => Array
    (
        [service] => rest
        [method] => LayoutList
        [response] => json
    )

[uri_parts:protected] => Array
    (
        [scheme] => http
        [host] => 360ds2.localhost
        [path] => /xibo/services.php
        [port] => 80
        [user] => 
        [pass] => 
        [query] => 
        [fragment] => 
    )

[uri:protected] => http://360ds2.localhost/xibo/services.php
[headers:protected] => Array
    (
        [Accept] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
        [Accept-Encoding] => gzip, deflate
        [Accept-Language] => en-US,en;q=0.5
        [Cache-Control] => max-age=0
        [Connection] => keep-alive
        [Cookie] => CAKEPHP=bjcb1oigc9pfuidf2jb5car5o4; PHPSESSID=0r21b2ghfgeq5m9rlfmhjf2m95; CakeCookie[lang]=en; CakeCookie[userId]=6; CakeCookie[role]=1; CakeCookie[system_type]=0; CakeCookie[datasets_name]=Hantera+data
        [Host] => 360ds2.localhost
        [Referer] => http://360ds2.localhost/admin
        [User-Agent] => Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0
    )

[method:protected] => GET
[body:protected] => 
)

You will notice, it is almost the same, however this time, I am getting this not signed error.

Could there be something else missing. I should note, I am following the old API PHP code:

public function LayoutList() {
    // The request uri being called.
    $user_id = 1;
    $request_uri = SERVER_BASE . 'services.php';

    // Parameters, appended to the request depending on the request method.
    // Will become the POST body or the GET query string.
    $params = array(
               'service' => 'rest',
               'method' => 'LayoutList',
               'response' => RESPONSE
         );

    // Obtain a request object for the request we want to make
    $req = new OAuthRequester($request_uri, 'GET', $params);

    // Sign the request, perform a curl request and return the results, throws OAuthException exception on an error
    $result = $req->doRequest($user_id);

    return $this->processData($result);
}

I am not sure if the $user_id = 1; is related - it always worked in 1.6

When I change the $user_id = 2, I get the message:

No server tokens available for http://360ds2.localhost/xibo-cms/services.php

When it is set to $user_id = 1, get:

"Request failed with code 500: "

Unfortunutely, with no related message with it other than a 500.

Add logo Ticker source

The ticker functionality is spectacular, helps users and can enter more interesting content from sources outside the system.

Currently use a region in front of the ticker region to insert an image. The image of the logo of the ticker provider.

When we have multiple tickers and different news providers, starts to get complicated.

Inform the duration of imagems, to synchronize with the duration of the ticker...lol

My request is the ticker configuration screen, include a field image logo ticker. If the image is inserted, we allow the user to enter in front of the ticker when it is displayed in the designer and display.

What do you think?

Can't find usage of a string

Hi,

I'm working on some translations on your launchpad site.
To be sure I get the right words in my language, I'm looking the words up where they appear in Xibo.

But I can't find "Lock Module Config" (Located in server/locale/dbtranslate.php:98 ). I've looked up all settings pages. I just can't find it.

1.7 - Scheduling Translations Missing - PT-BR

In the scheduling screen, identified some items that are not translated to Portuguese of Brazil

I will use this bug to list items for translation PT-BR be allowed to act this way.
If you accept, could change the name to bug Translations Portuguese-Brazil Missing.
capturar

XRDS generates incorrectly URLS

services.php is in there twice.

Example:

xri://$xrds*simple http://oauth.net/discovery/1.0 #main http://oauth.net/core/1.0/endpoint/request http://oauth.net/core/1.0/parameters/auth-header http://oauth.net/core/1.0/parameters/uri-query http://oauth.net/core/1.0/signature/HMAC-SHA1 http://oauth.net/core/1.0/signature/PLAINTEXT http://172.28.128.3/services.php/services.php?service=oauth&method=request_token http://oauth.net/core/1.0/endpoint/authorize http://oauth.net/core/1.0/parameters/uri-query http://172.28.128.3/services.php/index.php?p=oauth&q=authorize http://oauth.net/core/1.0/endpoint/access http://oauth.net/core/1.0/parameters/auth-header http://oauth.net/core/1.0/parameters/uri-query http://oauth.net/core/1.0/signature/HMAC-SHA1 http://oauth.net/core/1.0/signature/PLAINTEXT http://172.28.128.3/services.php/services.php?service=oauth&method=access_token

Reference Library Files in other Media Items

Target use-cases would be:

  • Embedded
  • Text
  • Ticker
  • DataSet

Basically any content that is HTML enabled.

Implementation specifics

We would need to have some notation to reference the library file in a user friendly way and then substitute the actual file location (and make the layout link) at run time.

API LayoutRegionMediaDelete not work

hello i make 2 script for testing API i'm running xibo 1.6.4 server on linux

1 Script

#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Script to upload a Video to the Xibo CMS and replace
# an old copy of it in a region

# Imports
import os
from xml.dom import minidom
import XiboAPI

api = XiboAPI.XiboAPI()

# Call the LayoutList Method
response, status, code, message, content = api.callMethod('LayoutList')

# Parse the response XML
doc = minidom.parseString(content)

params = [('layoutId', '4'),
          ('regionId', '47ff29524ce1b'),
          ('mediaiId', '2fd03b0503316a593dcbdb67c8999e59')]

# Call the RegionList Method
response, status, code, message, content = api.callMethod('LayoutRegionMediaDelete', params)
duration=100
params = [('layoutid', '6'),
          ('regionid', '54c00c67e199c'),
        ('type', 'webpage'),
          ('xlf', '<media type="webpage" duration="' + str(duration) + """" schemaVersion="1">
                        <options>
                              <uri>http%3A%2F%2Flocalhost</uri>
                              <scaling>100</scaling>
                              <transparency>0</transparency>
                              <offsetLeft>0</offsetLeft>
                              <offsetTop>0</offsetTop>
                        </options>
                   <raw></raw>
                   </media>""",)]

# Call the RegionList Method
response, status, code, message, content = api.callMethod('LayoutRegionMediaAdd', params)

this script work correctly this is my log output.

-- Cut Log --
13065   2015-01-22 09:50:16 RestXml Respond <?xml version="1.0"?>
<rsp status="ok">
<media id="f26e40590e18fd3cf56b99120554b7a1"/>
</rsp>
13064   2015-01-22 09:50:16 Finished Updating Region
13063   2015-01-22 09:50:16 Layout  SetValid    OUT
13062   2015-01-22 09:50:16 module  SetMediaInformation Existing Assigned Media XML is: \n <?xml version="1.0"?>
<root><media type="webpage" duration="100" schemaVersion="1" id="fe4e5cc1a76f023e60fb23decd4d1042" userId="3">
<options>
<uri>http%3A%2F%2Flocalhost</uri>
<scaling>100</scaling>
<transparency>0</transparency>
<offsetLeft>0</offsetLeft>
<offsetTop>0</offsetTop>
</options>
<raw/>
</media></root>
13061   2015-01-22 09:50:16 Layout  GetLayoutXml    OUT
13060   2015-01-22 09:50:16 Layout  GetLayoutXml    IN
13059   2015-01-22 09:50:16 Module created with MediaID: fe4e5cc1a76f023e60fb23decd4d1042 LayoutID: 6 and RegionID: 54c00c67e199c
13058   2015-01-22 09:50:16 Layout  GetLayoutXml    OUT
13057   2015-01-22 09:50:16 Layout  GetLayoutXml    IN
13056   2015-01-22 09:50:16 layout  IsValid Assessing Region: 54c00c67e199c
13055   2015-01-22 09:50:16 layout  GetRegionList   [OUT]
13054   2015-01-22 09:50:16 layout  GetRegionList   [IN] Loaded XML into DOM
13053   2015-01-22 09:50:16 layout  SetDomXML   Loaded LayoutXml into the DOM
13052   2015-01-22 09:50:16 layout  SetDomXML   Loading LayoutXml into the DOM
13051   2015-01-22 09:50:16 Layout  GetLayoutXml    OUT
13050   2015-01-22 09:50:16 Layout  GetLayoutXml    IN
13049   2015-01-22 09:50:16 layout  IsValid Reassesment Required
13048   2015-01-22 09:50:16 layout  IsValid [IN]
13047   2015-01-22 09:50:16 Layout  SetValid    IN
13046   2015-01-22 09:50:16 Layout  SetLayoutXml    OUT
13045   2015-01-22 09:50:16 display NotifyDisplays  Checking for Displays to refresh on Layout 3
13044   2015-01-22 09:50:16 Layout  SetLayoutXml    IN
13043   2015-01-22 09:50:16 LayoutMediaGroupSecurity    Link    OUT
13042   2015-01-22 09:50:16 LayoutMediaGroupSecurity    Link    IN
13041   2015-01-22 09:50:16 region  AddMedia    <media type="webpage" duration="100" schemaVersion="1" id="f26e40590e18fd3cf56b99120554b7a1" userId="3">
<options>
<uri>http%3A%2F%2Flocalhost</uri>
<scaling>100</scaling>
<transparency>0</transparency>
<offsetLeft>0</offsetLeft>
<offsetTop>0</offsetTop>
</options>
<raw/>
</media>
13040   2015-01-22 09:50:16 Layout  GetLayoutXml    OUT
13039   2015-01-22 09:50:16 Layout  GetLayoutXml    IN
13038   2015-01-22 09:50:16 Updating Region
13037   2015-01-22 09:50:16 module  ValidateMediaXml    A new media entry
13036   2015-01-22 09:50:16 module  ValidateMediaXml    Validating provided XLF
13035   2015-01-22 09:50:16 module  SetMediaXml Provided XML Loaded
13034   2015-01-22 09:50:16 module  SetMediaXml Setting the media XML for this item directly
13033   2015-01-22 09:50:16 Module created with MediaID: LayoutID: 6 and RegionID: 54c00c67e199c
13032   2015-01-22 09:50:16 Layout  GetLayoutXml    OUT
13031   2015-01-22 09:50:16 Layout  GetLayoutXml    IN
13030   2015-01-22 09:50:16 Services    Authenticated API call for [LayoutRegionMediaAdd] with a [xml] response. Issued by UserId: 3

After I make an second script to delete the new media

2 Script

#!/usr/bin/python
# -*- coding: utf-8 -*-
#
# Script to upload a Video to the Xibo CMS and replace
# an old copy of it in a region

# Imports
import os
from xml.dom import minidom
import XiboAPI

api = XiboAPI.XiboAPI()

params = [('layoutId', '6'),
          ('regionId', '54c00c67e199c'),
          ('mediaId', 'fe4e5cc1a76f023e60fb23decd4d1042')]

# Call the RegionList Method
response, status, code, message, content = api.callMethod('LayoutRegionMediaDelete', params)

this script not delete the media end send me this error

-- Cut Log --
13069   2015-01-22 09:57:36 <errormsg>No results returned</errormsg>
                                                                        <errornum>1024</errornum>
                                                                        <errortype>User Notice</errortype>
                                                                        <scriptname>/var/www/xibo/lib/service/rest.class.php</scriptname>
                                                                        <scriptlinenum>1036</scriptlinenum>
13068   2015-01-22 09:57:36 Layout  GetLayoutXml    OUT
13067   2015-01-22 09:57:36 Layout  GetLayoutXml    IN
13066   2015-01-22 09:57:36 Services    Authenticated API call for [LayoutRegionMediaDelete] with a [xml] response. Issued by UserId: 3

please help me

LayoutRegionMediaAdd - Passing XML with a Media ID Causing "ID does not match" error

I am attempting to upload the following XML via the LayoutRegionMediaAdd method in the API.

The XML is for an image, as below:

<!--?xml version="1.0"?-->
<layout width="800" height="450" bgcolor="#000000" schemaversion="1"><region name="asfasdasd" id="54bd569e74009" userid="1" width="800" height="450" top="0" left="0"><media id="122" type="image" duration="10" lkid="73" userid="1" schemaversion="1">
<options><uri>122.jpg</uri></options>
<raw>
</raw></media></region></layout>

However, I get an error when posting this. The error says "ID does not match".

I debugged the code, and found the following:

Line 1958 of lib/modules/module.class.php has the following:

// We already know that the media id exists, now check it matches
if ($mediaNode->getAttribute('id') != $this->mediaid)
    return $this->SetError(__('ID does not match'));

The problem, as far as I can tell, is that the $this->mediaid variable is never defined in the API, so it is blank.

This problem exists on version 1.6 as well.

Forecast IO widget should have an option for language

Hello. I have seen a question regarding the Forecast.io units and the possibility of adding an option to change them. I think that adding also an option to set the language parameter would be really good. It would be actually necessary to show the text info in many countries.
Ideally, it should be set at the media timeline level (not in general module settings) so that several timeline items could show several languages if necessary.

https://bugs.launchpad.net/xibo/+bug/1412471

Playlists

Reusable Playlists - has also been called Timelines and Content Streams.

Regions add +1 in width if you open the Regions Options

I have a size 3240 x 1920 (three Full HD monitors) with three regions. Each 1080 x 1920. If I enter the otpions the width of the region (1080) ist 1081.
If one isn't be careful you save the region with this bad value.

Improved disk space quota

This functionality would be very interesting for companies and administrators who use the tool.

We Could have the functionality to set quota of disk space per user and per user group. We currently have the option just by CMS (some or not), I think they are complementary.

This would help in stimulating the user uploads content to clean que que items are no longer used in Their display case.

Whenever the screen upload content Appears, We Could present the user quota and how much he has used and available to perform the upload.

We Could be related to an item in the library statistics, where he had his share of viewing, used space, available space and splits for each media type for each percentage.

What do you think?

We currently have a quota of disk space for the entire system sharing this Among all users share.

Interactive Signage

Issue to collect thoughts and feedback on what Interactive Signage should be available within Xibo. We have two main thoughts at present:

Touch Screen Interaction

Providing a mechanism in Xibo for defining click-able areas and then a way to respond to those clicks and do certain things.

Event Driven Actions

Provide a mechanism to respond to outside events, these could be generated by a helper application for each type of event.

  • An example could be a signal received over a COM port
  • A socket connection
  • Listening to a HTTP page for a change in status (perhaps consuming a JSON string)
  • Responding to removable media being plugged in (playback without a connected CMS)
  • Listening to XMDS for instructions to do something

Actions

Support for:

  • Counter Module
  • Loading new items into a region
  • Loading a new Playlist (#1) into a region
  • Moving forwards and backwards in the schedule
  • Loading an entire layout
  • Resuming the interrupted region / layout from exactly where it was (mid video for example)

English translation missing (en.mo)

In the translations in 1.6.4 (and possibly earlier), there's an en_GB.mo but no en.mo, so if another translated language is configured in the browser preferences, then that will take precedence over the English.

eg browser settings for

English
English (United States)
Russian

will cause it to render in Russian.

Jalali Calendar Support

Support for the Jalali Calendar in:

  • Schedule
  • Popup Date Time Pickers
  • Date output to forms

Delete User Objects to Erase User

Delete User Objects to Erase User

To maintain the system always clean, that's usually when deleting a user to list the types of objects that the user owns.

media
layouts
campaigns
groups

We could present to the administrator user the option to delete and delete all the contents of the system whose Owner is the user we are putting out.

This will help maintain the library, layouts, and all other objects of clean systems. Can be made up by the bank, through the On Delete Cascade.

Twitter uses wrong encoding when remove urls is ticked

Something goes wrong with Twitter in the parsing of special characters like apostrophes, ' turns into â as seen in this example:

"Good students of @KaiminNews & @UMJSchool, enjoy winter break. I’m going to make your brain hurt starting next week. http://www.ronreason.com/pollner/ "

turns into:

"Good students of @KaiminNews & @UMJSchool, enjoy winter break. I�m going to make your brain hurt starting next week."

I'm not sure if this an issue in the character encoding used or what might be causing this, but it definitely looks bad.

1.7 Options remove items timeline grid

Options remove items timeline grid

When selecting the timeline to remove an item, appears the following options:
Remove the Region
Remove the region and Retire
erase Media

These options could be listed also in the timeline of the grid for mass action on the items.

I think relevant
capturar

Add Retired Option to User Filter

Improved Filter Users

In the users screen, we could have the filter with the standards adopted in other areas of the system.

Miss display only active users, and the filter has option to view inactive users.

Class 'Theme' not found in client.config.php

Issue originally reported by @laercionit https://bugs.launchpad.net/xibo/+bug/1409108

Not sure on the exact circumstances, hopefully something will break so the issue can be tracked down.

Subsequent errors:

Notice: Undefined index: in C: \ xampp \ htdocs \ @ Test @ \ lib \ data
displayprofile.data.class.php on line 97

Notice: Undefined index: in C: \ xampp \ htdocs \ @ Test @ \ lib \ data
displayprofile.data.class.php on line 99

Warning: Invalid argument supplied for foreach () in C: \ xampp \ htdocs
@ Test @ \ lib \ data \ display.data.class.php on line 666

Notice: Undefined index: in C: \ xampp \ htdocs \ @ Test @ \ lib \ data
displayprofile.data.class.php on line 97

Notice: Undefined index: in C: \ xampp \ htdocs \ @ Test @ \ lib \ data
displayprofile.data.class.php on line 99

Warning: Invalid argument supplied for foreach () in C: \ xampp \ htdocs
@ Test @ \ lib \ data \ display.data.class.php on line 666

Notice: Undefined index: in C: \ xampp \ htdocs \ @ Test @ \ lib \ data
displayprofile.data.class.php on line 97

Notice: Undefined index: in C: \ xampp \ htdocs \ @ Test @ \ lib \ data
displayprofile.data.class.php on line 99

Warning: Invalid argument supplied for foreach () in C: \ xampp \ htdocs
@ Test @ \ lib \ data \ display.data.class.php on line 666

Embedded Layout on Intranets (Webpages)

Embedded Layout on WebPage

This feature is interesting for enterprise environments.

Imagine that we have a layout called intranet, put there that wish to present content on the intranet.

We could have the ability to dynamically generate a link that can embedar web page. This functionality is much explored in other solutions.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.