# 在共用空間中共同開發資料載入指令碼

您可以與共用空間的其他成員共同開發應用程式和指令碼載入指令碼。

預設情況下：

* 只有應用程式擁有者可以使用 資料管理員 和 資料載入編輯器 將資料新增至應用程式、建置資料模型並將資料載入到應用程式中。

* 只有指令碼擁有者可以使用 指令碼 將資料新增至指令碼並匯出資料。

可以編輯應用程式中的資料使用者角色可讓共用空間中的其他使用者在不屬於他們的應用程式中使用 資料載入編輯器 和 資料管理員，並在不屬於他們的指令碼中使用 指令碼。

資訊備註可以編輯應用程式中的資料使用者角色也允許使用者在共用空間中變更應用程式的邏輯模型和詞彙。如需詳細資訊，請參閱[在共用空間中共同開發商務邏輯](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/BusinessLogic/business-logic-codevelopment.htm)。

使用者在 資料載入編輯器 中編輯載入指令碼時，會對其他使用者鎖定該指令碼。指令碼會保持鎖定，直到：

* 應用程式或指令碼會重新載入。

* 對載入指令碼進行最後變更的兩分鐘後。

不同使用者進行的變更會自動儲存為歷史記錄中的版本。使用者可以在歷史記錄中檢閱不同指令碼版本之間的變更。如需更多關於管理指令碼版本的資訊，請參閱 [管理載入指令碼歷史記錄](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/LoadData/managing-load-script-history.htm)。

資料載入編輯器 由另一個使用者鎖定

資料載入編輯器 由另一個使用者鎖定

資料載入編輯器資料載入編輯器 由另一個使用者鎖定 ![由另一個使用者鎖定以便編輯的資料載入編輯器。](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_app_script-coedit-rev.png)

## 資料模型共同開發和載入排程

若應用程式設定為按排程自動載入，重要的是，應注意，如有多個使用者可以編輯載入指令碼，載入排程的擁有權可以如何變更。這很重要，因為排程載入會代表載入排程擁有者對應用程式及其資料來源的存取權限來執行。

若載入排程擁有者以外的使用者在 資料載入編輯器 中進行編輯 (或在 資料管理員 中載入資料)，以修改指令碼，則在大部分的情況下，載入排程的擁有權會轉移給他們。不過，若此使用者已經是最近編輯指令碼的使用者，則排程的擁有權將不會轉移給他們。此功能可讓最近的載入指令碼編輯者選擇編輯載入排程。

不建議透過共同開發在應用程式中使用 資料管理員。

### 報告開發人員的考慮事項

在使用應用程式內報告時，應用程式的發佈清單控制誰能接收透過應用程式報告任務產生的報告。建立或編輯發佈清單時，您可能會成為應用程式載入排程 (如有) 的擁有者。

若要瞭解控管載入排程擁有權的規則，請參閱 [任務的擁有權](https://help.qlik.com/zh-TW/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/reloading-apps-cloud-hub.htm#Ownershi)。

## 共同開發和 資料管理員

建議只有在共同開發應用程式中的資料模型時才使用 資料載入編輯器。

資料管理員 不會直接影響自動產生的區段外的載入指令碼。在 資料管理員 中的使用者按一下載入資料之前，在 資料管理員 中對資料模型進行的更新不會儲存至載入指令碼。 因此，鎖定載入指令碼時，不會鎖定 資料管理員。不過，會在另一個使用者編輯載入指令碼時告知使用者。

在共同開發情境中，若 資料管理員 中的使用者在另一個使用者於 資料管理員 中工作時進行變更，則變更可能會在其他使用者按一下載入資料時遺失。

資料管理員 從 資料載入編輯器 使用同步表格時，不會在使用者於 資料載入編輯器 中工作時鎖定 資料管理員。根據另一個使用者變更載入指令碼的方式，若已在過渡期編輯載入指令碼，則在 資料管理員 中進行的變更可能會遺失。

若您在 資料管理員 中載入資料，您將可能成為應用程式或指令碼具有的任何已排程載入的新擁有者。若您已經是最近編輯載入指令碼的使用者，則排程的擁有權將不會轉移給您。

## 限制

指令碼共同開發有下列限制：

* 新增至工作表 (具有載入資料動作) 的按鈕無法在鎖定指令碼以供編輯時載入資料。