QField Feature Requests

Fix/Enhance Multi-Select Lists: Float "Remember Last Value" selections to the top on new features
What is the problem you are trying to solve? In QField, multi-select Value Relation dropdowns successfully display and group checked items when reviewing a previously saved/plotted feature. However, this behavior breaks when creating a brand-new feature while utilizing the "Remember Last Value" pin. When a field worker creates a new feature, the data carried over from the previous feature is active in the background cache, but QField treats the new record as completely blank visually. The carried-over items remain scattered throughout long lookup lists (e.g., a list of mixed species in forestry or biodiversity monitoring). Users are forced to scroll extensively through the entire list just to see what data has carried over or is already checked. In mixed environments (like woodlands containing a combination of conifer, broadleaf, native, and non-native trees simultaneously), splitting the data into cascading parent/child dropdowns isn't a viable workaround. What is your proposed solution? Update the user interface behavior within multi-select lookups so that carried-over data from the "Remember Last Value" cache is treated identically to pre-existing row data. When a new feature form opens, these active selections should automatically pin to the absolute top of the list view. This enhancement should: • Create a visual partition on new features: Group all carried-over/active selections at the very top of the widget immediately upon form creation, with the remaining unchecked options listed cleanly below them. • Preserve project sorting: Maintain the project's underlying sort order (such as alphabetical order or custom priority columns configured in QGIS Desktop) within those two separate blocks. • Update dynamically: Refresh the list order cleanly every time the dropdown widget is tapped open. What is the value of this feature? This fixes a major UX consistency gap between editing old features and creating new ones. It aligns QField with modern mobile UX standards, dramatically reduces form scrolling during rapid data collection, and eliminates critical data validation errors caused by carried-over selections being hidden deep within large lookup datasets.
1
·
planned
Ability to create new layers in a project within QField app
This relates to the already-existing request titled "Ability to create new projects within QField app". As good as QField is, it often feels very restrictive compared to typical professional surveying data collector software. The notion of having to "go back to the office" in order to begin new work or to organize data feels very outdated. Being able to create new projects while in the field would be wonderful, but a large portion of the benefit might be achieved with a perhaps simpler enhancement: the ability to create new layers within an existing project. It is often possible to anticipate the need for a new project and thus be able to create it while in the office. However, it's also often the case that once in the field and performing the work, something is observed that had not been anticipated, but for which data ought to be collected, and that does not properly belong in any of the project's already-existing layers. There might be a logical distinction of these new data from the other categories of data that were planned to be collected. It could be very nice to be able to separately control the visibility of this new category of data, even just for ordinary reduction of clutter on the screen. It could also be that there was a problem with some of the data collection, in any layer, e.g. perhaps a GNSS receiver had been misconfigured, and the problem is discovered while still in the field. So far, I have not found a convenient way in QField to delete a large number of features within a layer (have I missed it?), so a work-around would be to turn off the visibility of the "bad" layer and to create a new layer. Back at the office, the "bad" layer could be deleted. Perhaps the ability to create new layers could be an intermediate step toward the ability to create new projects. It would be very beneficial in the meantime. Maybe an even simpler way to achieve much of the benefit would be to have the ability to duplicate an existing layer, asking the user 1) for a name for the duplicate and 2) whether or not the features in the original layer should be copied into the duplicate. I'm suggesting #2 as a safer alternative to having the ability to delete all the features in a layer (e.g. after duplication, with all the features of the original layer having been automatically copied into the duplicate), so as to avoid accidental deletion of needed data.
2
Plugin API to save a feature with the form's defaults and constraints
As a plugin developer, I want a documented way to create and save a feature with the layer's default values and constraints applied, as QField's form does, so that guided data-collection plugins keep working after QField updates. Example: our field teams map plots and record farm work with a plugin that guides them step by step. One button asks what they want to record, records the shape (an averaged point, a walked boundary or corners), then asks one question per screen and saves. The layer's form holds the rules we rely on: a default value that builds a plot ID from the collector's code, the farm and a running number; a hard constraint that blocks saving when the collector code is missing; a soft constraint that warns when a new boundary overlaps one already recorded. To get those rules applied, the plugin creates its own QfFeatureModel and QfAttributeFormModel and calls create(). That works well, but these classes are not part of the documented plugin API, so we currently have turn off QField updates on the phones and test each new version before allowing it. What would make this stable: Document (and keep in the plugin tests) creating, filling and saving a feature with defaults and constraints applied, for example a small helper that takes a layer, a geometry and attribute values and returns the constraint results. A documented call to open the add-feature form for a layer with a prepared geometry, with a signal when it is saved or cancelled, as a fallback. A way for a plugin to ask for positions to keep coming while the screen is off, so a boundary can be walked with the phone in a pocket. Happy to test pre-release builds.
0
Load More
→