Giter Site home page Giter Site logo

qgis / qgis-django Goto Github PK

View Code? Open in Web Editor NEW
87.0 87.0 59.0 11.54 MB

Django project for QGIS related activities such as plugin repository

Home Page: http://qgis.org

License: GNU General Public License v2.0

Makefile 1.21% Python 63.38% Shell 1.23% HTML 17.34% CSS 8.07% JavaScript 7.65% XSLT 0.43% Dockerfile 0.39% templ 0.29%

qgis-django's Introduction

🧪 QGIS tests Docker Status Build Status OpenSSF Scorecard OpenSSF Best Practices 🪟 MingW64 Windows 64bit Build DOI

QGIS is a full-featured, user-friendly, free-and-open-source (FOSS) geographical information system (GIS) that runs on Unix platforms, Windows, and MacOS.

Features

1. Flexible and powerful spatial data management

  • Support for raster, vector, mesh, and point cloud data in a range of industry-standard formats
    • Raster formats include: GeoPackage, GeoTIFF, GRASS, ArcInfo binary and ASCII grids, ERDAS Imagine SDTS, WMS, WCS, PostgreSQL/PostGIS, and other GDAL supported formats.
    • Vector formats include: GeoPackage, ESRI shapefiles, GRASS, SpatiaLite, PostgreSQL/PostGIS, MSSQL, Oracle, WFS, Vector Tiles and other OGR supported formats.
    • Mesh formats include: NetCDF, GRIB, 2DM, and other MDAL supported formats.
    • Point-cloud format: LAS/LAZ and EPT datasets.
  • Data abstraction framework, with local files, spatial databases (PostGIS, SpatiaLite, SQL Server, Oracle, SAP HANA), and web services (WMS, WCS, WFS, ArcGIS REST) all accessed through a unified data model and browser interface, and as flexible layers in user-created projects
  • Spatial data creation via visual and numerical digitizing and editing, as well as georeferencing of raster and vector data
  • On-the-fly reprojection between coordinate reference systems (CRS)
  • Nominatim (OpenStreetMap) geocoder access
  • Temporal support

Example: Temporal animation

Example: Temporal animation

Example: 3D map view

Example: 3D map view

2. Beautiful cartography

  • Large variety of rendering options in 2D and 3D
  • Fine control over symbology, labeling, legends and additional graphical elements for beautifully rendered maps
  • Respect for embedded styling in many spatial data sources (e.g. KML and TAB files, Mapbox-GL styled vector tiles)
  • In particular, near-complete replication (and significant extension) of symbology options that are available in proprietary software by ESRI
  • Advanced styling using data-defined overrides, blending modes, and draw effects
  • 500+ built-in color ramps (cpt-city, ColorBrewer, etc.)
  • Create and update maps with specified scale, extent, style, and decorations via saved layouts
  • Generate multiple maps (and reports) automatically using QGIS Atlas and QGIS Reports
  • Display and export elevation profile plots with flexible symbology
  • Flexible output direct to printer, or as image (raster), PDF, or SVG for further customization
  • On-the-fly rendering enhancements using geometry generators (e.g. create and style new geometries from existing features)
  • Preview modes for inclusive map making (e.g. monochrome, color blindness)

Example: Map of Bogota, Colombia in the style of Starry Starry Night, by Andrés Felipe Lancheros Sánchez

Map of Bogota, Colombia in the style of Starry Starry Night

For more maps created with QGIS, visit the QGIS Map Showcase Flickr Group.

QGIS Map Showcase

3. Advanced and robust geospatial analysis

  • Powerful processing framework with 200+ native processing algorithms
  • Access to 1000+ processing algorithms via providers such as GDAL, SAGA, GRASS, OrfeoToolbox, as well as custom models and processing scripts
  • Geospatial database engine (filters, joins, relations, forms, etc.), as close to datasource- and format-independent as possible
  • Immediate visualization of geospatial query and geoprocessing results
  • Model designer and batch processing

Example: Travel isochrones

Example: Travel isochrones

Example: Model designer

Example: model designer

4. Powerful customization and extensibility

  • Fully customizable user experience, including user interface and application settings that cater to power-users and beginners alike
  • Rich expression engine for maximum flexibility in visualization and processing
  • Broad and varied plugin ecosystem that includes data connectors, digitizing aids, advanced analysis and charting tools, in-the-field data capture, conversion of ESRI style files, etc.
  • Style manager for creating, storing, and managing styles
  • QGIS style hub for easy sharing of styles
  • Python and C++ API for standalone (headless) applications as well as in-application comprehensive scripting (PyQGIS)

Example: Style manager

Example: Style manager

Example: Plugins

Example: Plugins

5. QGIS Server

Headless map server -- running on Linux, macOS, Windows, or in a docker container -- that shares the same code base as QGIS.

  • Industry-standard protocols (WMS, WFS, WFS3/OGC API for Features and WCS) allow plug-n-play with any software stack
  • Works with any web server (Apache, nginx, etc) or standalone
  • All beautiful QGIS cartography is supported with best-in-class support for printing
  • Fully customizable with Python scripting support

Example: QGIS server WMS response

Example: QGIS Server response to a WMS request

Example: QGIS server WFS response

Example: QGIS Server response to a WFS Feature request

Under the hood

QGIS is developed using the Qt toolkit and C++, since 2002, and has a pleasing, easy to use graphical user interface with multilingual support. It is maintained by an active developer team and supported by vibrant community of GIS professionals and enthusiasts as well as geospatial data publishers and end-users.

Versions and release cycle

QGIS development and releases follow a time based schedule/roadmap. There are three main branches of QGIS that users can install. These are the Long Term Release (LTR) branch, the Latest Release (LR) branch, and the Development (Nightly) branch.

Every month, there is a Point Release that provides bug-fixes to the LTR and LR.

Free and Open Source

QGIS is released under the GNU Public License (GPL) Version 2 or any later version. Developing QGIS under this license means that you can (if you want to) inspect and modify the source code and guarantees that you, our happy user will always have access to a GIS program that is free of cost and can be freely modified.

QGIS is part of the Open-Source Geospatial Foundation (OSGeo), offering a range of complementary open-source GIS software projects.

Installing and using QGIS

Precompiled binaries for QGIS are available at the QGIS.org download page. Please follow the installation instructions carefully.

The building guide can be used to get started with building QGIS from source.

For installation of QGIS Server, see its getting started documentation.

Documentation

A range of documentation is available. This includes:

Help and support channels

There are several channels where you can find help and support for QGIS:

  • Using the QGIS community site
  • Joining the qgis-users mailing list
  • Chatting with other users real-time. Please wait around for a response to your question as many folks on the channel are doing other things and it may take a while for them to notice your question. The following paths all take you to the same chat room:
    • Using an IRC client and joining the #qgis channel on irc.libera.chat.
    • Using a Matrix client and joining the #qgis:osgeo.org room.
  • At the GIS stackexchange or r/QGIS reddit, which are not maintained by the QGIS team, but where the QGIS and broader GIS community provides lots of advice
  • Other support channels

Get involved with the community

Bug reporting and bug fixing

You can help us by submitting bug reports or fixing bugs in the QGIS bug tracker.

New features and enhancements

If you wish to contribute patches you can:

  1. fork the project
  2. make your changes
  3. commit to your repository
  4. and then create a pull request.

The development team can then review your contribution and commit it upstream as appropriate.

If you commit a new feature, add [FEATURE] to your commit message AND give a clear description of the new feature. The label Needs documentation will be added by maintainers and will automatically create an issue on the QGIS-Documentation repo, where you or others should write documentation about it.

For large-scale changes, you can open a QEP (QGIS Enhancement Proposal). QEPs are used in the process of creating and discussing new enhancements or policy for QGIS.

Translations

Please help translate QGIS to your language. At this moment about forty languages are already available in the Desktop user interface and about eighty languages are available in transifex ready to be translated.

The translation process is managed by the Translation Team and all the activities are done under the Transifex platform.

Other ways to contribute

If you are not a developer, there are many other possibilities that do not require programming skills to help QGIS to evolve. Check our project homepage for more information.

qgis-django's People

Contributors

3nids avatar agiudiceandrea avatar akbargumbira avatar akiyamka avatar alisterh avatar anitagraser avatar capooti avatar dduric avatar delazj avatar dimasciput avatar elpaso avatar faebebin avatar g-sherman avatar gacarrillor avatar gustry avatar jayenashar avatar jef-n avatar kannes avatar lkajan avatar nathanw2 avatar nyalldawson avatar pathmapper avatar rduivenvoorde avatar ricardogsilva avatar sumandari avatar thegreatrefrigerator avatar timlinux avatar wildintellect avatar wonder-sk avatar xpirix 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

Watchers

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

qgis-django's Issues

Errors trying to update plugin

Since the update last friday I cannot update one of my plugins ([1364] UMEP). The following error message is displayed:

There were errors reading plugin package (please check also your plugin's metadata).
File is too big. Max size is 1048576 Bytes

The plugin is attached. Is there a new size limit introduced?

UMEP.zip

Add an option "Create a bugtracker"

This issue has been migrated from the old QGIS issue tracker.

Author

Paolo Cavallini (@pcav)

Description

On uploading a plugin, the author should be presented with the option of automatically create a bugtracker instance for it. This could be compulsory, or at least strongly recommended.

Comments

Paolo Cavallini (@pcav) :

Pull Request or Patch supplied set to No

This is now compulsory, but not automatic.

Paolo Cavallini (@pcav) :

Priority changed from High to Low

Add an option "Add your plugin to standard GIT"

This issue has been migrated from the old QGIS issue tracker.

Author

Paolo Cavallini (@pcav)

Description

When uploading his plugin, the dev should be presented with the option of adding it also to the standard GIT for all plugins. Alternatively, he should indicate the URL of his code versioning system. Plugins without any code repository should be discouraged, or not accepted.

Comments

Akbar Gumbira (@akbargumbira) :

What is 'standard GIT'?

Paolo Cavallini (@pcav)

Priority changed from High to Normal
Pull Request or Patch supplied set to No

In fact, currently there are a variety of repos. The most used is github, so it might make sense to at least suggest it, or better make it somewhat more automatic.

Planet not updated

This issue has been migrated from the old QGIS issue tracker.

Author

Alexander Bruy (@alexbruy)

Description

RSS at http://plugins.qgis.org/planet/ is not updated anymore, while at http://qgis.org/planet it works. Seems one of this should be removed.

Comments

Anita Graser (@anitagraser) :

Status changed from Open to Closed

I think that's fine now.

Anita Graser (@anitagraser) :

Status changed from Closed to Reopened
Priority changed from Low to Normal

Sorry, closed too fast ...

Paolo Cavallini (@pcav) :

Still valid?

Akbar Gumbira (@akbargumbira) :

I think both of them pointing to the same thing

The "repository" tag is not updated from metadata.txt

This issue has been migrated from the old QGIS issue tracker.

Author

Borys Jurgiel (@borysiasty)

Description

Steps to reproduce:

  1. Create a plugin with missing the "repository" tag in the metadata.txt and upload it.
  2. The application complains about the missing tag of course.
  3. Create a new (higher) version with that tag added to the metadata.txt and upload it.
  4. The application still says that tag is missing.

Please note the "homepage" and "tracker" tags work properly.

Comments

Akbar Gumbira (@akbargumbira)

Hi Borys, I could not reproduce this.

After the point 2, the plugin won't get uploaded.

After changing the point 3 (whether still using the same version from point 2, or higher version), the plugin will successfully get uploaded without complaining missing repository.

Did I miss something from your description?

"download plugin" button goes unnoticed

In the past few days, I've had a few users in the OSGeo IRC channel ask for help about creating an OSGeo ID account for... downloading qgis plugins.

After double-checking that, indeed, qgis plugins can be downloaded without logging in with an OSGeo ID, I realised something.

The "download this plugin" button is small, and is hidden behind three clicks (plugin info → versions list → last version → download). This is confusing users, making them click on the big "share plugin" ("upload a new plugin") button.

I hereby request a big, fat "download latest version of this plugin" button on every plugin page.

user image is missing from planet pages

This issue has been migrated from the old QGIS issue tracker.

Author

Alessandro Pasotti (@elpaso)

Description

See top right in page:
http://users.qgis.org/planet/tag/thematics/
the missing image is:
http://users.qgis.org/static//feedjack/default/img/faces/woostuff.png
which leads to 404
I'm not sure if it's just a matter of hiding the IMG tag (template stuff) if the image is missing or if this is a bug somewhere in feedjack.

Comments

Paolo Cavallini (@pcav) :

Assigned to set to Tim Sutton (@timlinux)

Add a filter for "New" plugins to plugins website

This issue has been migrated from the old QGIS issue tracker.

Author

Borys Jurgiel (@borysiasty)

Description

I would like to be able to sort or filter the plugins website, so that only new plugins would be shown, similar to the links for Featured, All, Stable, etc. in the op left corner.

Ticket moved from #9938
Original author of the ticket: http://hub.qgis.org/users/1219

Comments

Akbar Gumbira (@akbargumbira)

Hi Borys, can you explain more about the criteria of 'new' itself? Thanks

Borys Jurgiel (@borysiasty)

Unfortunately I can't, as I only moved this ticket to more appropriate category. I just asked the author in the original ticket.

Ed B

New = Any plugin uploaded or submitted to website in the last 30 days and it doesn't have to be 30 it could be any number of days. It could possibly include or exclude any new versions of a plugin.

Plugin notifications sent to dev list are bounced and returned to [email protected]

@pcav kept receiving email notifications from the plugin website.

Apparent the reason is:

  • the applications is sending all these notifications to all 'staff' members/users AND(!) to the QGIS_DEV_MAILING_LIST_ADDRESS
  • then these posts are bounced (because of too many recepients?), and returned to... [email protected] (the default FROM-address)
  • this email addres is currently then sent to this group with: @pcav @timlinux @g-sherman and @elpaso

We think that sending to the dev list is not needed (as currently apparently nobody missed it).

Looking at https://github.com/qgis/QGIS-Django/blob/master/qgis-app/plugins/views.py
It appears that if we remove the different lines of:
recipients.append(settings.QGIS_DEV_MAILING_LIST_ADDRESS)
only staff members will receive these mailings.

@elpaso what you think? Ok if I add a PullRequest for that?

Add user comments

This issue has been migrated from the old QGIS issue tracker.

Author

Paolo Cavallini (@pcav)

Description

As above

Comments

Paolo Cavallini (@pcav) :

Assigned to set to Alessandro Pasotti (@elpaso)

Alessandro Pasotti (@elpaso) :

Assigned to deleted (Alessandro Pasotti)

Paolo Cavallini (@pcav) :

It would be good to let user add comments both from the web and from the QGIS interface

Akbar Gumbira (@akbargumbira)

Paolo: can you explain more for this?

Paolo Cavallini (@pcav) :

It would be nice to go more social, allowing not only votes from the users (both from the web interface and from QGIS itself), but also comments, that could help others to understand plugin usefulness, quality, etc.
This should probably be allowed for registered users only, so it would require a bit of thought.

Add an aggregate stats to the plugin manager's view

This issue has been migrated from the old QGIS issue tracker.

Author

Matteo Gismondi

Description

Add an aggregate stats to the plugin manager's view that shows number of downloads per country per month. For companies like mine to have such tool is indispensable to understand which country to target for marketing and business development.
Therefore this feature would be greately appreciated.
Thank you
Regards,
Matteo

Comments

Akbar Gumbira (@akbargumbira)

If I look at the database, there is no fields to correlate between the plugin, and the number of download per country. This is good though, we can show a heatmap of the number of downloads for all countries.

Plugin titles / tabs all look the same in browser tabs

Original report: qgis/QGIS-Website#360

Let's open a few tabs about plugins in our browser.

The result is as you can see.

275791f2-3deb-11e6-9e11-dcc1a4fe16b8

They all have the same HTML TITLE..

What they should have is their or keyword prepended:
so that both type of pages
https://plugins.qgis.org/plugins/tags/ibama/
https://plugins.qgis.org/plugins/LocatePoints/
would all have the distinguishing parts of their names near the
beginning of the TITLE so we could tell them apart in browser tabs or
in a browser History list.

Deprecate plugins.qgis.org/planet/ URL

qgis.org/planet/ redirects to planet.qgis.org/planet/ so that seems to be the canonical URL.
Please make plugins.qgis.org/planet/ also redirect there. Otherwise it is just confusing. The plugins subdomain is currently the top result on Google for "qgis planet" which is looking weird.

question mark in password kills upload_plugin.py

Haven't had time to investigate more, but having a password with a question mark will generate this traceback:

Password: 
Connecting to: http://lalala:*@plugins.qgis.org:80/plugins/RPC2/
Traceback (most recent call last):
  File "./plugin_upload.py", line 115, in <module>
    main(options, args)
  File "./plugin_upload.py", line 44, in main
    xmlrpc.client.Binary(open(arguments[0]).read()))
  File "/usr/lib/python2.7/xmlrpclib.py", line 1243, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1602, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.7/xmlrpclib.py", line 1283, in request
    return self.single_request(host, handler, request_body, verbose)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1311, in single_request
    self.send_content(h, request_body)
  File "/usr/lib/python2.7/xmlrpclib.py", line 1459, in send_content
    connection.endheaders(request_body)
  File "/usr/lib/python2.7/httplib.py", line 1053, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 897, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 859, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 836, in connect
    self.timeout, self.source_address)
  File "/usr/lib/python2.7/socket.py", line 557, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
socket.gaierror: [Errno -2] Name or service not known
Makefile:81: recipe for target 'upload' failed

Plugin validation: More than one top-level folder "allowed"

If I understand the idea correctly, a plugin ZIP-file should have exactly one plugin top-level folder. Not more than one. If my understanding is correct, there is an issue in the validation: It only checks the "first" top level folder and does not care if there is more than one. (The current plugin installer in QGIS on the other hand also does not check if there is more than one sub-folder and just unpacks everything.)

    namelist = zip.namelist()
    try:
        package_name = namelist[0][:namelist[0].index('/')] # PROBLEMATIC SECTION
    except:
        raise ValidationError( _("Cannot find a folder inside the compressed package: this does not seems a valid plugin") )

    if package_name.endswith('/'):
        package_name = package_name[:-1]
    initname = package_name + '/__init__.py'
    metadataname = package_name + '/metadata.txt'

Relevant code in repository

Notify users that their email will be used for bulk contact

We should update the plugin upload environment with a little notice to indicate that uploading a plugin to our repo indicates explicit agreement to be notified via bulk email on important notices from QGIS for plugin authors.

I propose the following text:

Please note that by uploading a plugin to the official QGIS plugin repository, you agree that we will use your email to contact you. We will only contact you for matters relating to the management of plugins and will not make your email available to third parties for marketing purposes.

In addition we should add a proviso when a user uploads a plugin that the a condition of having the plugin hosted on http://plugins.qgis.org is that the author should be contactable and responsive to email correspondence from the QGIS plugin management team. I propose the following text:

By uploading your plugin to the QGIS plugin repository, you agree to keep your email address current and to be responsive to any correspondence we may send you regarding the management of your plugin. We require this in order to be able to provide our users assurance that the plugins we host are well maintained and will be fixed should serious issues arise during their use. We reserve the right to hide or remove plugins in cases where the plugin author is not contactable and there are issues reported about a plugin.

These messages should be displayed on upload of a plugin and should also be clearly visible on the user's landing page when they log in to the plugins platform.

Only four stars are shown on the plugin list page

This issue has been migrated from the old QGIS issue tracker.

Author

Anita Graser (@anitagraser)

Description

Plugins can be rated with up to five stars and on the individual plugin page, up to five stars are displayed. In the plugin list on the other hand, only a maximum of four stars is visible.

Comments

Alessandro Pasotti (@elpaso) :

It is because there are no plugins with score = 5.0000... (I don't remember how many significamt digits in a float)

But you're right, the algorithm could be better.

Anita Graser (@anitagraser)

Can you change it to display five stars if the score is >= 4.5?

Alessandro Pasotti (@elpaso) :

Probably yes, but I don't have time to do it now, sorry.

Also, the new plugin website I've developed during the HF has lot small fixes and the same look & feel of the new QGIS main website, unfortunately we didn't have enough time to push it online.

Every bug fix will have to wait until someone will find time to upgrade the wirtualenv on the server and push the new plugin site online.

If somebody wants to fix the rating issue, please look here:
https://github.com/qgis/QGIS-Django/blob/master/qgis-app/plugins/templates/plugins/plugin_list.html#L98
and here:
https://github.com/qgis/QGIS-Django/blob/master/qgis-app/plugins/models.py#L26

Akbar Gumbira (@akbargumbira)

See here the PR for this issue: #16

Allow to create tokens to upload plugin

Hi !

It would be nice if users could create plugin specific tokens usable instead of login with the plugin upload API endpoint. This would avoid having to potentially compromise OSGeo logins in the context of automated deployments (travis/github actions), and more generally open some more flexible collaboration possibilities.

Cheers !

Olivier

No easy way to view or filter plugin compatibility with QGIS 3 (or any maximum QGIS version)

Summary Description

Given that QGIS 3 both has a raft of breaking changes in its APIs, and upgrades to Python 3 from Python 2, all but the most trivial plugins need to be updated. Therefore, it seems clear there would be a need for users to quickly and easily tell whether a given plugin supports QGIS 3, and filter searches by QGIS (maximum) version compatibility.

Current Situation and Workarounds

With regard to the current situation, apparently the only way to determine a plugin's QGIS 3 compatibility (i.e. its max supported version) is to

  1. Click on the plugin name in the search results or browse list to view its detail page
  2. Click the Versions tab
  3. Click the right version number (typically, the latest)
  4. Possibly scroll past a long changelog, if present
  5. Find and parse the Maximum QGIS version item near the bottom of the list of attributes

Even though I was specifically looking for it, I actually didn't find it myself at first and only on the second attempt figured it out.

When browsing plugins from within QGIS it filters by your version automatically, but particularly when evaluating whether and when to move to QGIS 3 and the current state of the ecosystem, it would be rather beneficial to have the web app actually be useful and be able to view the richer and more informative web UI while still filtering by or easily determining version compatibility, and not have to fire up QGIS and know to manually change the version string sent to the server to see what's available for a different version (which many average users may not know or think to do).

Furthermore, the only way to filter plugins by QGIS version on the site is to know to manually pass qgis=3.0 to https://plugins.qgis.org/plugins/plugins.xml (i.e. what the QGIS plugin manager uses), and even then the appearance and UI is something out of the 90s, complete with the long out of date page title Quantum GIS Python Plugins, and the only way to navigate it is with your browser's Find on page feature.

Suggested Changes/Improvements

Therefore, the following changes, from simplest but most limited to more impactful to more involved, would address this issue:

  • At absolute minimum, that I presume should be very straightforward for someone to implement (I'm familiar with Python, but have no experience with Django myself) is to add a maximum version column to the table on the Versions page, as that is generally more relevant to the user than the minimum version that is displayed at least for the time being, and plenty of room exists even on a non-hidpi monitor.

  • Probably not much more complicated would be adding either sortable columns All Plugins browse table, either for the max (and min) QGIS version, or with boolean value indicating QGIS 2 and QGIS 3 compatibility, as pulled from the latest non-experimental, non-deprecated version available for each platform (and possibly a third value indicating an experimental or deprecated version is available).

  • Given search results are presently displayed as a (rather awfully bare) list of titles with no metadata like in the All Plugins table, and would require clikcing through to view the version, it would be nice to have a a simple visual "tag" or "badge" visible on the plugin detail page (i.e. above the tab content, such as to the right of the plugin name), and even better to the right of the name in the search results, signifying that at least one non-experimental version is QGIS 3 compatible; I'm thinking a look along the lines of a Github issue tag next to the issue name, somewhat like this: QGIS 3. Similarly, at some point if not immediately you'd also want a similar one for QGIS 2, if a QGIS 2 compatible version exists (as new plugins are increasingly likely to be QGIS 3 only at some point).

  • Finally, a way to filter searches by version (and other properties, eventually) would take a bit more effort I imagine, and is more of a "nice to have", but is certainly something that would be desired at some point (along with other filters) to greatly improve the current experience searching the online repo.

Again, I have no direct experience with Django ; if given sufficient guidance and time to get a dev environment installed and set up, I could try to help with some of the simpler elements of this, but it would probably quickest and most efficient if someone who actually knew what they were doing implemented this. Thanks!

Query building plugins.xml doesn't respect third component of version string

The below line seems to ignore the third component of version strings:

filters.update({'pluginversion__min_qg_version__lte' : qg_version})

This means that a plugin with a minimum version requirement like 3.10.3 (as is the case for trends.earth - which depends on 3.10.3 or greater) doesn't show up on the plugin.xml page when QGIS queries the repository for plugins from versions of the software that are greater than or equal to 3.10.3 but less than 3.12. For example, see the page here which shows only the prior version of Trends.Earth, which doesn't have a third component to its minimum QGIS version requirement

I'd submit a pull request to fix but I'm not that familiar with Django, and also am not sure if this behavior is by design or a bug?

Error in woosh

Internal Server Error: /plugins/GeoSearch/version/1.6.0/download/
Traceback (most recent call last):
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "./plugins/views.py", line 837, in version_download
    plugin.save(keep_date=True)
  File "./plugins/models.py", line 340, in save
    super(Plugin, self).save(*args, **kwargs)
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/django/db/models/base.py", line 710, in save
    force_update=force_update, update_fields=update_fields)
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/django/db/models/base.py", line 747, in save_base
    update_fields=update_fields, raw=raw, using=using)
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/django/dispatch/dispatcher.py", line 201, in send
    response = receiver(signal=self, sender=sender, **named)
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/haystack/signals.py", line 52, in handle_save
    index.update_object(instance, using=using)
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/haystack/indexes.py", line 282, in update_object
    backend.update(self, [instance])
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/haystack/backends/whoosh_backend.py", line 227, in update
    writer.commit()
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/whoosh/writing.py", line 1040, in commit
    self.writer.commit(*args, **kwargs)
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/whoosh/writing.py", line 925, in commit
    finalsegments = self._merge_segments(mergetype, optimize, merge)
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/whoosh/writing.py", line 830, in _merge_segments
    return mergetype(self, self.segments)
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/whoosh/writing.py", line 88, in MERGE_SMALL

    writer.add_reader(reader)
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/whoosh/writing.py", line 710, in add_reader
    self.add_postings_to_pool(reader, basedoc, docmap)
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/whoosh/writing.py", line 634, in add_postings_to_pool
    for item in items:
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/whoosh/writing.py", line 570, in _process_posts
    for fieldname, text, docnum, weight, vbytes in items:
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/whoosh/reading.py", line 432, in iter_postings
    yield (fieldname, btext, m.id(), m.weight(), m.value())
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/whoosh/codec/whoosh3.py", line 928, in value
    self._read_values()
  File "/home/plugins/.virtualenvs/plugins/local/lib/python2.7/site-packages/whoosh/codec/whoosh3.py", line 1049, in _read_values
    assert isinstance(vs, bytes_type)
AssertionError

Embed Nabble view of Mailing Lists as forum.qgis.org

This issue has been migrated from the old QGIS issue tracker.

Author

Alex Mandel

Description

Based on discussions on the mailing list about how to better integrate the all the qgis community tools I suggest the following tasks to bring forums/mailing list together as one via nabble and to make that reachable as part of the qgis.org realm.

  1. Include nabble embedded forum of the mailing list inside website. http://www.nabble.com/help/Answer.jtp?id=36
  2. Redirect forum.qgis.org to this page
  3. Archive the current forum at old-forum.qgis.org as read only until we find a way to glean the useful stuff out of it.

If we need to contact the OSGeo admin for nabble to get the embed link let me know and I'll request it.

Comments

Paolo Cavallini (@pcav) :

I'm against this. In my experience, having MLs under Nabble causes a series of issues.

"download plugin" button goes unnoticed

This issue has been migrated from the old QGIS issue tracker.

Author

Iván Sánchez Ortega (@IvanSanchez)

Description

(Moved from #23 )

In the past few days, I've had a few users in the OSGeo IRC channel ask for help about creating an OSGeo ID account for... downloading qgis plugins.

After double-checking that, indeed, qgis plugins can be downloaded without logging in with an OSGeo ID, I realised something.

The "download this plugin" button is small, and is hidden behind three clicks (plugin info → versions list → last version → download). This is confusing users, making them click on the big "share plugin" ("upload a new plugin") button.

I hereby request a big, fat "download latest version of this plugin" button on every plugin page.

Can't download plugins

I am running QGIS on docker and I noticed that I can't install plugins. Every time I was getting a network timeout error. Initially, I thought that this was related to a bug with the docker image, but when I tried to access the download link on the browser I also got a network error. These are the links that I tried and both failed:

Plugin licence

This issue has been migrated from the old QGIS issue tracker.

Author

Paolo Cavallini (@pcav)

Description

In most plugins there is no separate licence file, and in many there is no licence whatsoever.
I think this should be a requirement for accepting a plugin on the repo, and should ask authors to fix this.
IMHO we should establish a standard way to add it (e.g. provide a LICENSE file and put license header to all sources, probably integrating in Plugin Builder).

Unsure whether this is the right place to place this ticket - feel free to move it elsewhere.

Plugin name sort order is case-sensitive

This issue has been migrated from the old QGIS issue tracker.

Author

jtornero -

Description

Plugin name sort order is case-sensitive, so first are displayed all plugins with first uppercase letter and then those with first lowercase letter.
It is annoying for the user, mainly because it gives the impression of "missing plugins" when looking for one in particular.

Best regards

Comments

Akbar Gumbira (@akbargumbira)

The PR is here #15

Paolo Cavallini (@pcav) :

Status changed from Open to Feedback

Should this be closed?

Paolo Cavallini (@pcav) :

Checked, sort order is still incorrect.

The fields "create_date" and "update_date" both hold the same "update_date" in the plugin meta

Literally the title. The problem is that the template model does not have access to the date of creation of the plugin, but only the date of creation of the version. Unfortunately, I'm not that familiar with Django to be able to solve it.

<create_date>{{ version.created_on.isoformat }}</create_date>
<update_date>{{ version.created_on.isoformat }}</update_date>

Support for presenting index.html info about plugins

This issue has been migrated from the old QGIS issue tracker.

Author

Chris Crook

Description

It would be good if the repository had a feature of looking for an index.html file in the plugin zip file and providing a link to this if it exists. See

http://www.qgis.org/wiki/Writing_Python_Plugins#Documentation

Two things that make this a bit difficult are

  1. Security - there is not control on the contents of the HTML file
  2. References - eg references to images within the index.html file.

Maybe there is a better way of meeting the underlying requirement, which is to be able to provide more comprehensive information about the plugin without installing it.

Comments

Paolo Cavallini (@pcav) :

Pull Request or Patch supplied set to No

I think first we should define the structure, and add the feature to the Plugin Builder, then adding it to django should be straightforward

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.